2011-06-17 30 views
1

我有一個父母&我的網頁中的子元素,其中都有單獨的事件處理程序爲他們定義。我在firefox中測試過,父元素的事件處理程序首先被執行。我希望它以另一種方式執行 - 首先執行子元素的事件處理程序。如何使用jquery在父/子元素中實現事件順序

我已閱讀關於如何使用bind,stopPropagation,preventDefault等來做到這一點,但我有點困惑,因爲如何讓這個工作?有人可以對這個話題有所瞭解嗎?

這裏是我正在執行的事件處理....

$('#Sidebar ul li .DeleteList').live('click', function(e) { 
     alert("I was deleted"); 
}); 

$('#Sidebar ul').delegate('li', 'click', function(e) { 
     alert("I was selected"); 
}); 

enter image description here

+0

你可以參考以下鏈接完成這個任務。[點擊這裏](http://stackoverflow.com/questions/4684602/nested-jquery-selectors-triggering-both-parent-and -child-specific-events)謝謝。 – Chandresh 2011-06-17 05:45:21

+0

我已經做到了。這在我的情況下不起作用。改變用於父元素的「委託」爲「活」,這就是爲什麼仍然超出我的範圍。 – vikmalhotra 2011-06-17 05:48:19

回答

0

爲什麼不保持一致,只是使用.live()兩個? :D

$('#Sidebar ul li .DeleteList').live('click', function(e) { 
    alert("I was deleted"); 
}); 

$('#Sidebar ul li').live('click', function(e) { 
    alert("I was selected"); 
}); 

這種'刪除'方式首先被觸發。

小提琴:http://jsfiddle.net/c9sBD/

相關問題