2014-03-28 68 views
3

我有一個表格,其中一個單元格中包含按鈕。 <tr>有一個onclick事件。我希望按鈕可以獨立於<tr> onclick進行操作,但可以在同一行內操作。防止按鈕單擊激活<tr> onclick事件

HTML:

<tr onclick="$trigger();"> 
    <td>Data A</td> 
    <td>Data B</td> 
    <td>Data C</td> 
    <td><button onclick="$buttonClicked();">Submit</button></td> 
</tr> 

這可能嗎?

回答

13

您可以使用event.stopPropagation()

冒泡DOM樹,阻止任何 父處理程序被通知的事件阻止事件。

$('button').click(function(event) { 
    event.stopPropagation(); 
}); 
+0

這個固定。謝謝您的幫助! –

+1

救生答案! –

5

這是事件冒泡,這是造成父點擊激活。

$('button').click(function(e) { 
    e.stopPropagation(); 
}); 

如果你的瀏覽器是IE < 9,試試這個:

$('button').click(function(e) { 
    e.cancelBubble(); 
}); 

http://www.quirksmode.org/js/events_order.html

+0

是的,它是事件順序。感謝您的幫助。 –