如下所示注册点击事件,当在页面中单击一次空白空间时,处理程序将被调用5次。我希望它能被召唤一次。
$(document).click(function(event) {
console.log(event.target);
});
有人可以解释一下吗?感谢。
答案 0 :(得分:2)
您可能会加载5次代码。你是怎么把它包含在你的页面上的? (编辑你的问题来回答)
答案 1 :(得分:0)
jQuery .click()
eventHandler在每次点击时设置一个新的事件处理程序(而不是替换 - 就像你期望的那样。)
您应该能够通过解除绑定,然后重新绑定事件处理程序来解决此问题:
$(document).unbind('click').click(function(event) {
//...//
});
<强> [编辑] 强>
.unbind()
事件处理程序已弃用...因此上述内容应为:
$(document).off('click').on('click', function(event) {
// do things //
});
答案 2 :(得分:-1)
试试这个:
$(document).on('click', function(e){
console.log(e.target);
});
&#13;