我编写了一个单击处理程序,它创建了一个绑定到文档单击处理程序,如下所示:
$("#button").bind('click',function(){
....
$(document).bind('click',function(){
console.log("document.click");
});
});
我觉得奇怪的是文档点击处理程序触发,我立即得到控制台日志。换句话说,我第一次单击#button时会收到控制台日志。这是因为点击冒泡到文档需要时间,而且我在文档点击事件到达之前就绑定了它?有什么办法可以防止这种情况发生吗?
答案 0 :(得分:3)
试试这个:
$("#button").bind('click',function(e){
e.stopPropagation();
....
$(document).bind('click',function(){
console.log("document.click");
});
});
这样可以防止事件冒泡