gpt4 book ai didi

jquery - 无法删除 on() 上的事件;

转载 作者:行者123 更新时间:2023-12-01 01:16:50 25 4
gpt4 key购买 nike

我在从使用 on() 分配事件的元素解除绑定(bind)事件时遇到问题;

这是我的 JS:

    $(document).on('click','.reply-indicator a', function(e){
e.preventDefault();
var commentid = $(this).data('commentid');
$.ajax({
type: 'POST',
url: '?category=getreplies',
data:{
"commentid" : commentid
},
success: function(data){
$('.'+commentid+'subcomments').append(data);
}
});
return false;
});

我已经尝试了所有我能想到的方法来从元素中删除点击事件我什至在每次迭代时为每个元素分配一个 id 属性,以便能够专门定位该元素,因为有几个:

$(document).off('click','#'+commentid+'indicator a');
$('#'+commentid+'indicator a').off();

$('#'+commentid+'indicator a').off('click');

$('#'+commentid+'indicator a').unbind('click');

但是它不会丢失回调函数中的事件,甚至当我尝试将此代码放在 ajax 请求之前但事件在回调函数之后仍然有效时也不会丢失。我是否试图正确定位它?

最佳答案

尝试向您想要委托(delegate)的元素添加一个类,然后当您想要删除某些元素时,只需删除该类即可

//add delegate
$(document).on('click','.reply-indicator a.onclick', function(e){
...
//remove the class from the element so it no loger matches the delegate selector
$('#'+commentid+'indicator a').removeClass('onclick');

http://jsfiddle.net/jN7LG/2/

关于jquery - 无法删除 on() 上的事件;,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12984998/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com