防止事件bubling不'我在jquery工作

prevent event bubling doesn't work in jquery

本文关键字:我在 jquery 工作 事件 bubling      更新时间:2023-09-26

我有这样的DOM

<div class="modal">
<li>
<div id="block1"></div>
<div id="block2">
<div class="btn-wrap">
<button>cancel</button>
<button>save</button>
</div>
</div>
</li>

我有一个点击事件附加到li,当我点击block2的按钮时,那个事件发生了。如何防止这种情况发生?

我试过使用on((,但它不起作用。

$('.btn-wrap').on('click','button:first-child',function(e){
            e.preventDefault();
            alert('test');
        });

您应该使用stopPropagation来防止事件冒泡:

$('.btn-wrap').on('click','button:first-child',function(e){
   e.stopPropagation();
   alert('test');
});

event.stopPropagation((添加到处理程序

$('.btn-wrap').on('click', 'button:first-child', function(e)
{
    e.preventDefault();
    e.stopPropagation();
    alert('test');
});