に解雇された私は、このコードではjQueryを使って昨日の潜在的なバグを発見:可能なjQueryのバグ - イベントがまだ変更クラス要素
$(document).ready(function() {
$('.likedLink').click(function(){
return false;
});
$('.likes').click(function(){
var id = $(this).attr('id');
var currentLike = id;
id = id.replace('p','');
$.ajax({
type: "POST",
url: "/posts/like",
data: "id=" + id,
success: function(like){
$('#' + currentLike).html(like).removeClass('likes').addClass('likedLink');
}
});
return false;
});
});
をポストバックナンバーを受信して、現在のクリックしたリンクのHTMLを設定し、新しい値私はそれから、さらにクリックすることを避けるために、要素のクラスを変更します/ AJAX-ing。
コードが機能し、新しいHTMLを受け取り、クラスを正しく変更しましたが、ユーザー/私がクリックしたときにAJAXイベントがまだ起動されましたが、別のクラスだったので解雇してはいけませんでした。
これはjQueryのバグですか? (ちなみに
は、私は.replaceWith("<p>" + like + "</p>")
に.html()
を変更することで、コードを固定しますが、私は、これはあなたがライブ(使用する必要が
+1。バインドを解除する理由はありますか? – naveen
1つの要素からバインドを解除しますか?ユーザーが安心すれば、リバインドする必要がありますか?私はそれが好きか分からない。 –