javascript
  • function
  • alert
  • window.open
  • document.write
  • 2015-06-17 18 views 1 likes 
    1
    function capture(){ 
        var screenshot = window.open("", "_blank", "menubar=2,titlebar=0,toolbar=0,width=" + 680 + ",height=" + 550); 
        screenshot.document.write("<center/><img id='jpeg' src='"+img+"'><br/>"); 
        screenshot.document.write("<a download='vfr_capture.jpeg' href='"+img+"'>Download</a>"); 
        screenshot.document.write("<button id='myLink' onclick='popOut()'>Test</button>"); 
    } 
    function popOut(){ 
        alert("Clicked"); 
    } 
    

    Кнопка myLink появляется после window.open, если я нажму на нее, ничего не произойдет. Как я могу сделать предупреждение («Clicked»)? Является ли функция onclick отключена внутри document.write?Запуск функции внутри document.write, который document.write внутри window.open

    PS: Я попытался поместить функцию popOut() над функцией capture(), но она по-прежнему не работает. Пожалуйста помоги.

    ответ

    1

    popOut в onclick во всплывающем окне не в текущем окнеpopOut. Две среды окон отдельно.

    Вы можете сделать его доступным для другого окна, хотя, добавив в конце capture:

    screenshot.popOut = popOut; 
    

    Live Example:(поскольку стек Snippets не позволяют window.open)

    document.querySelector('input').onclick = capture; 
    function capture(){ 
        var screenshot = window.open("", "_blank", "menubar=2,titlebar=0,toolbar=0,width=" + 680 + ",height=" + 550); 
        /* Commented out since I don't have your `img` variable 
        screenshot.document.write("<center/><img id='jpeg' src='"+img+"'><br/>"); 
        screenshot.document.write("<a download='vfr_capture.jpeg' href='"+img+"'>Download</a>"); 
        */ 
        screenshot.document.write("<button id='myLink' onclick='popOut()'>Test</button>"); 
        screenshot.popOut = popOut; 
    } 
    function popOut(){ 
        alert("Clicked"); 
    } 
    

    HTML:

    <input type="button" value="Click me"> 
    
    +0

    Спасибо Сэр Crowder за помощь! Поэтому с вашим ответом я понимаю, что можно включить onclick на DW, спасибо снова. – aryswisnu

    0

    Обе функции в различных областях

    function capture() { 
        var screenshot = window.open("", "_blank", "menubar=2,titlebar=0,toolbar=0,width=" + 680 + ",height=" + 550); 
        screenshot.document.write("<center/><img id='jpeg' src='" + img + "'><br/>"); 
        screenshot.document.write("<a download='vfr_capture.jpeg' href='" + img + "'>Download</a>"); 
        screenshot.document.write("<button id='myLink'>Test</button>"); 
    
        screenshot.document.getElementById('myLink').onclick = popOut 
    } 
    

    Демо: Fiddle

     Смежные вопросы

    • Нет связанных вопросов^_^