您能否从冒泡到正文的元素中删除 $.on() 添加的事件侦听器



鉴于这样的事情$('body').on('click', 'a', someReference);有没有办法使用 $.off() 为特定<a>删除此侦听器?

。有没有办法使用 $.off() 为特定<a>删除此侦听器?

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

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

$(specific_a).on('click', false);

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

最新更新