我有一个具有子div元素的父元素DIV。对于父级及其子级,我有单独的单击实现。
<div id="mainContainer">
<div id="childContainer">
</div>
<div id="childContainer2">
</div>
</div>
$('#mainContainer').click(function () {
console.log('main container');
}).children().click(function () {
console.log('childen');
return false;
});
$('#childContainer2').click(function () {
console.log('child container 2');
});
一切正常。但是如果我单击一个孩子,则该事件将运行两次,这应该是这样的。我的问题是-有没有一种方法可以将事件显式地写入父级,而不会影响子级,从而使子级不需要两次执行click函数?
是的,您可以更改绑定事件的顺序并停止传播,请使用stopImmediatePropagation
考虑这个小提琴
$('#childContainer2').click(function (e) {
alert('child container 2');
e.stopImmediatePropagation()
return false;
});
$('#mainContainer').click(function () {
alert('main container');
}).children().click(function (e) {
alert('childen');
return false;
});
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句