我有以下点击事件处理程序:
$('html').click(function() { do something});
$('#my_div').click(function() { do something});
my_div 是 html 的后代。
如果我点击 my_div,我可以控制先调用哪个吗?我可以依赖 my_div 处理程序总是首先被处理吗?
我有以下点击事件处理程序:
$('html').click(function() { do something});
$('#my_div').click(function() { do something});
my_div 是 html 的后代。
如果我点击 my_div,我可以控制先调用哪个吗?我可以依赖 my_div 处理程序总是首先被处理吗?
Child 事件处理程序总是在父事件处理程序之前调用(事件冒泡)。因此,当您单击时#my_div
,将调用其单击事件处理程序。在这里,您可以选择通过使用停止事件冒泡到html
单击处理程序
event.stopPropagation()
IE
$('#my_div').click(function(event) {
event.stopPropagation();
});
注意:使用 jQuery 时,event.stopPropagation()
可能不适用于所有浏览器。您必须event
在点击处理程序中作为参数
IE。$('#my_div').click(function(event){ ... });