javascript - 单击按钮时触发的事件也会触发另一个事件

标签 javascript jquery jquery-selectors

我想触发一个即使按钮 <input type="button" id="btn-halt"/>被点击。

$("#btn-halt").click(function(){
   alert("Halt button was clicked")
})

但是,我有另一个在任何其他元素点击时触发的事件。

$("em, div, input:not(#btn-halt), textarea, ul, ol, form, li, select, table, label, tr, td, span, a, p, img, h1, h2, h3, h4, h5").click(function (event) {
 // do stuff
})

如何防止第二个事件被触发。我认为它被触发是因为 <input type="button" id="btn-halt"/>位于div内当有 div单击它会触发第二个事件。

最佳答案

您遇到的效果称为事件冒泡,您可以使用以下代码片段来防止它。

尝试,

$("#btn-halt").click(function(e){
   e.stopPropagation();
})

关于javascript - 单击按钮时触发的事件也会触发另一个事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22139907/

相关文章:

javascript - 观察 Vue.js 计算属性在控制台中返回循环数据

javascript - ASP.NET MVC - 不时重新加载特定页面,而无需重新加载 _Layout 页面

javascript - 如何停止 jQuery UI 中的弹跳?

javascript - 高亮行未按预期 jquery 工作

javascript - jquery遍历和使用选择器

javascript - 使用 jQuery "this"加上 CSS 选择器?

javascript - 这个字符/运算符在 javascript/jquery 选择中意味着什么?

javascript - 如何从异步调用返回响应?

jquery - 在 jPlayer 中播放通过 Paperclip 上传的歌曲 - Ruby on Rails - jQuery - jPlayer

javascript - 使用 jquery 构建表单