javascript - 防止事件冒泡在 jquery 中不起作用

标签 javascript jquery

我有这样的 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');
});

关于javascript - 防止事件冒泡在 jquery 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31237693/

相关文章:

javascript - 未检索 React Native Firestore 子集合

javascript - 如何使 Javascript 正则表达式仅在两个字符彼此相邻时匹配?

javascript - 在 Chrome 中按比例调整图像大小

javascript - 2 个用于打开 URL 的下拉菜单

javascript - 尽管控制台中出现错误,仍发出 CORS 请求

javascript - 以 0 到 n 为间隔生成随机整数

javascript - 无法使用 jQuery 解析 HTML

javascript - jquery.min.js 冲突

jquery - 推迟谷歌地图初始化,直到显示引导选项卡后

javascript - 如何在 jQuery 中检查视网膜显示并相应地提供双分辨率图像?