1

我有以下点击事件处理程序:

 $('html').click(function() { do something});
 $('#my_div').click(function() { do something});

my_div 是 html 的后代。

如果我点击 my_div,我可以控制先调用哪个吗?我可以依赖 my_div 处理程序总是首先被处理吗?

4

1 回答 1

0

Child 事件处理程序总是在父事件处理程序之前调用(事件冒泡)。因此,当您单击时#my_div,将调用其单击事件处理程序。在这里,您可以选择通过使用停止事件冒泡到html单击处理程序

event.stopPropagation()

IE

$('#my_div').click(function(event) { 
   event.stopPropagation();
});

注意:使用 jQuery 时,event.stopPropagation()可能不适用于所有浏览器。您必须event在点击处理程序中作为参数

IE。$('#my_div').click(function(event){ ... });

于 2013-07-18T11:11:52.363 回答