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

时间:2014-03-03 06:14:52

标签: 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时,它会触发第二个事件。

1 个答案:

答案 0 :(得分:1)

您遇到的效果称为event bubbling,您可以使用以下代码段阻止它。

尝试,

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