你可以从一个冒泡到身体的元素中删除$ .on()添加的事件监听器吗?

Jaz*_*zzy 1 javascript jquery javascript-events

鉴于这样的事情$('body').on('click', 'a', someReference);是否有任何方法可以删除特定用途的侦听<a>$.off()

Fel*_*ing 8

...有没有办法删除特定用途的侦听<a>$.off()

不.只是因为没有处理程序附加到任何一个<a>.您正在使用事件委派.处理程序附加到<body>并且仅在源自a时才执行<a>.

但是您可以将事件处理程序绑定到a停止事件传播的特定处理程序:

$(specific_a).on('click', false);
Run Code Online (Sandbox Code Playgroud)

$('body').on('click', 'a', function(){
     console.log($(this).text());   
});
$('a').eq(1).on('click', false);
Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<a href="#">normal</a>
<a href="#">stopped</a>
Run Code Online (Sandbox Code Playgroud)