私のコード
var post = {};
post.DivPostContent = $('.content');
post.DivPostContent.live({
mouseenter:
function()
{
var post_id = $(this).attr('data-post_id');
var content_id = $('#content' + '_' + post_id);
var link = $('#link' + '_' + post_id);
content_id.find('.post_ratings').hide();
content_id.find('.post_actions').show();
//I removed the click event on a whim, i have no clue why it works
link.unbind('click');
link.click(function(){
post.link_action(post_id);
});
},
mouseleave:
function()
{
//does something
}
});
post.link_action = function(){
//Does some Ajax request
}
「リンク」から「post.link_action」と呼ばれるクリックイベントを4回アンバインドする前に、なぜそれが行われるのかを頭に入れようとしていました。何時間もコードを何度も読んだ後、私は自分自身に思いました。クリックイベントを削除してみてください。誤ってその行を間違った場所に配置しました(フラストレーションから)。私はコードを実行しました、そしてビオラ!機能した!どのように?私は見当もつかない。
ここで私の質問は、クリックイベントを追加する前にバインドを解除すると、プロセスが繰り返されなくなるのはなぜですか?本当にその理由を知りたいです。ありがとう。