可能重複:
Why does click event handler fire immediately upon page load?事件處理程序自動點擊事件觸發 - jQuery的
有一個在我的JavaScript的功能的理解,所以我很難理解爲什麼我的事件處理程序得到一個缺口如果我在沒有匿名包裝的情況下定義它,它會自動啓動。
HTML
<a href="#" id="change-html">Change HTML</a>
的Javascript#1
var btn = $('#change-html');
btn.click(bindClick(btn)); // bindClick gets executed right away and only once
function bindClick(source){
console.log('get here');
}
的Javascript#2
var btn = $('#change-html');
btn.click(function(){
bindClick(btn); // bindClick is only executed on the anchor's click event
});
function bindClick(source){
console.log('get here');
}
'()'函數引用後** **調用功能。你認爲在這個例子中首先執行了哪個函數:'foo(bar())'?當綁定事件處理程序:) –
非常感謝。現在很明顯。 –