2014-03-03 247 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很高興幫助。 –