0

私は引用符を追加するためのシンプルなアプリを持っており、引用符を好きになる可能性があります(FBのようではありません)。私は次の子を持つボタンとして単純なdivを持っています:合計いいねのあるスパンといくつかのテキストの段落。一部のコンテンツはAJAXで読み込まれるため、.live()を使用する必要があります。一度クリックするとdivをクリックできなくなるため、イベントのバインドを解除/終了する必要があります。しかし、.live()では$(this)を使用できないため、event.targetを使用してみましたが、これにはいくつかの問題があります。

私のHTML:

<div class="btnlike">
<span>0</span>
<p>Click to vote</p>
</div>

私のJavascript(これまでのところevent.targetを使用)

$(".btnlike").live('click',function(event){     

    var $target;
    if( $(event.target).is("div") ) {
        $target = $(event.target);
    } else {
        $target = $(event.target).parent();
    }

    $target.unbind(event);      

});

しかし、.die()を使用したいのですが、$(this)が機能しないため、他の解決策はありますか?

4

1 に答える 1

1

1つの解決策は、live関数内のその要素で実行されたかどうかを確認することです。

$(".btnlike").live('click',function(event){     
    if ($(this).data('clicked')) {
      // already ran it
      return; 
    }
    // mark it as being run
    $(this).data('clicked', true);
});
于 2012-04-26T16:55:35.007 に答える