試圖做一些管理後端的事情,如何跳過jQuery的冒泡階段
我有一個tr行包含操作鏈接。
<tr>
<td>
<span>item1</span>
</td>
<td>
<a href="#">delete</a>
</td>
</tr>
當用戶點擊TR線,就應該選擇它(和處理程序綁定到事件,這樣我就可以顯示額外的信息 別的地方), 和 當在用戶點擊刪除鏈接,應該調用另一個處理程序來刪除該項目。
設置單擊事件爲兩個目標,像這樣:
$("tr").click(function(e){
// show line infos, by reloading the page
});
$("tr a").click(function(e){
// delete item
});
當我點擊刪除鏈接, 看來該TR事件總是先叫, 和因爲我的TR的處理程序重新加載頁面 鏈接的處理程序永遠不會被調用。 這是正常的,因爲冒泡,系統會調用 我的處理順序如下:
下降階段:TR一
階段:一TR
我怎麼能跳過第一TR在下降階段處理?
我嘗試了一些東西 e.preventDefault(),e.stopPropagation()沒有成功。
嘗試使用-http://api.jquery.com/event.stopImmediatePropagation/ – Vivek
您所描述的不是事件冒泡而是事件捕獲。但在你的情況,使用冒泡:http://jsfiddle.net/r3KZu/ – Sotiris