[英]Can you remove an event listener added by $.on() from an element bubbling up to the body?
給定類似這樣的$('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>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.