我正在玩一个我想要绑定到所有链接的函数.目前,该功能在页面加载时触发,而不是在我点击链接时触发.
这是我的代码.(showDiv()如果你需要看的话,我可以在函数中过去.)你能告诉我这里做错了什么或傻吗?
$(document).ready(function(){
$('a.test').bind("click", showDiv());
});
Run Code Online (Sandbox Code Playgroud)
谢谢
可能重复:
为什么点击事件处理程序会在页面加载后立即触发?
我对Javascript函数的理解存在差距所以我很难理解为什么我的事件处理程序在没有匿名包装器的情况下定义它会自动触发.
HTML
<a href="#" id="change-html">Change HTML</a>
Run Code Online (Sandbox Code Playgroud)
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');
}
Run Code Online (Sandbox Code Playgroud)
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');
}
Run Code Online (Sandbox Code Playgroud)