我的应用程式中有这个类似的程式码:
let item;
$('.parent').on('click', function () {
item = $(this).attr('item') || 0;
});
$('.parent').on('click', '.children', this, function () {
doSomething();
});
<div class="parent" item="50">
<div class="children">
</div>
</div>
<div class="parent" item="51">
<div class="children">
</div>
</div>
<div class="parent" item="52">
<div class="children">
</div>
</div>
我有一个父元素,其中有几个孩子。单击父元素上的任何位置都会给我一个item信息,因此我将能够item在单击子元素时根据此变量加载函数。
我的问题是:我必须将子节点上的onClick事件委托给父元素,否则事件将按以下顺序触发:
点击任何一个孩子
单击父级,为时已晚,因为我item
首先需要变量
我有一个功能,如果激活了它会替换父元素,因为它是动态插入到DOM中的,所以我还必须委派onClick事件,如下所示:
$('.grandParent').on('click', '.parent', function () {
item = $(this).attr('item') || 0;
});
现在我的问题是事件再次以错误的顺序触发:
点击任何一个孩子
点击父项
如何将父级的点击事件设置为最高优先级?
繁星coding
相关分类