2014-03-03 199 views
1

即使点击了按钮<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时,它会触发第二个事件。

+0

#BTN-停止输入按钮,你调用这里面一个功能,所以它不应该触发另一个元素。你能向我们展示一个jsfiddle吗? –

回答

1

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

尝试,

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

谢谢,是的,应该这样做 – Ankur

+0

@Ankur很高兴帮助。 –