2013-03-16 85 views
5

我想創建一個簡單的腳本,將一個偵聽器添加到按鈕以觸發一個函數,當頁面完全加載時顯示警報。addEventListener DOMContentLoaded無法正常工作

腳本是要實現一個Chrome擴展

我用下面的代碼:

document.addEventListener('DOMContentLoaded', function() { 
     showalert(); 
     document.querySelector('button').addEventListener('click', showalert()); 
    }); 

    function showalert() { 
     alert("you just pressed the button"); 
    } 

而我的HTML

<button id="button">button</button> 

監聽器永遠不會加入到按鈕,也是第一個showalert();沒有被解僱。

我可能在這裏很愚蠢,但我不明白爲什麼這不起作用。任何幫助將不勝感激!

的jsfiddle:http://jsfiddle.net/bunker1/fcrwt/1/

+1

的addEventListener需要3個ARGS – stark 2013-03-16 13:12:00

+0

感謝您的輸入,加入小提琴的虛假說法沒有任何的運氣不幸:( – Bunker 2013-03-16 13:20:55

回答

4

發現錯誤,我的確是太傻了。

將JSfiddle置於無包裝狀態並從第二個參數中移除()後,代碼工作。

正確的代碼:

document.addEventListener('DOMContentLoaded', function() { 
     document.querySelector('button').addEventListener('click', showalert, false); 
    }, false); 

    function showalert() { 
     alert("you just pressed the button"); 
    }