可能重复:
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())'?当绑定事件处理程序:) –
非常感谢。现在很明显。 –