我有一個委派父母,監聽一組具有特定類的孩子中的點擊事件。如何阻止兒童傳播活動/委託偵聽器觸發的事件?
$(".toggle_group").on("click",".toggle",function(e){ .. });
所以繼承人的HTML
<div class='toggle_group'>
<a class='toggle'>click me and i toggle <div>Im a child of toggle</div></a>
<a class='toggle'>click me and i toggle <div>Im a child of toggle</div></a>
<a class='toggle'>click me and i toggle <div>Im a child of toggle</div></a>
<a class='toggle'>click me and i toggle <div>Im a child of toggle</div></a>
</div>
問題的一個例子是,a.toggle
兒童傳播完成的情況下,以父,當它不應該觸發的處理程序。根據jQuery文檔,您無法停止活動/委託事件偵聽器上的事件傳播。
如何阻止a.toggle的這些子孩子將事件傳播給父母?或者在某些情況下允許它?
您看到.toggle
的內部div應該是一個下拉菜單。它不應該當你點擊菜單時切換,只有當你點擊切換鏈接時...
你.off()對孩子 – frenchie 2012-02-05 22:12:40
所以您選擇說與繼承的事件偵聽器的孩子應該使用過禁用它們做到這一點? – qodeninja 2012-02-06 00:33:34
是的,這是一種方法。 StopPropagation是另一種方法。還有一種方法是使用on()爲子div創建一個事件監聽器,並讓它不做任何事情。 – frenchie 2012-02-06 10:13:54