2014-02-23 32 views
0
function foo() { 
    console.log("clicked"); 
} 

element.addEventListener("click", foo()); 

爲什麼當腳本加載和foo沒有不foo()被selfinvoked selfinvoked? 如果我需要一個參數傳遞給函數,像這樣的內容:爲什麼「富()」時,被分配給addEventListener方法

function foo(elem) { 
    console.log(elem,"clicked"); 
} 

element.addEventListener("click", foo("element")); 

回答

2

您需要添加引用的功能,否則將被調用的事件處理程序被綁定的時間。試試這個:

element.addEventListener("click", foo); 

如果你需要傳遞參數,在一個匿名函數把它包:

element.addEventListener("click", function(){ 
    foo("element") 
}); 
相關問題