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会提供这样一个函数,它也需要在内部进行遍历。 –