on()を使用してイベントを割り当てた要素からイベントをバインド解除する際に問題が発生しました。
これが私の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リクエストの前に配置しようとしても、コールバック関数のイベントが失われることはありませんが、コールバック関数の後でイベントは引き続き機能します。私はそれを正しくターゲットにしようとしていますか?