0
通常得到的是DOM節點上的監聽器,我使用如何找到委派的事件偵聽器?
$('selector').data('events');
然而,這並不表明事件偵聽器正在通過委託添加,如
$(document).on('click', 'selector', handlerFunction)
一個顯而易見的方法是遍歷了DOM樹,看看是否有父母正在委託事件到手邊,同時調用$('selector').parent().data('events')
,直到找不到父母爲止,但這並不意味着我是非常有效或標準的做事方式,我認爲這種做法的問題太常見了,沒有更好的解決方案。
如何找到所有的事件偵聽器,包括委託的?
嗯..你究竟在做什麼..?這可能是一個xy問題...... –
我有大量的頁面,甚至有來自各種模塊和其他垃圾(如Jquery mobile ui)和其他恐怖事件的其他恐怖事件被添加到其他恐怖事件中,試圖從中理解。我不認爲是'xy',除非可以讀取像Neo讀取矩陣這樣的代碼,我坦白地說不能:)。 –
向上遍歷DOM是獲取委託偵聽器的唯一方法,這是因爲這些偵聽器不屬於與「selector」匹配的元素,而是元素「$(element)」。所以即使jQuery會提供這樣一個函數,它也需要在內部進行遍歷。 –