0

我有一个简单的应用程序来添加引号和喜欢引号的可能性(不是 FB 之类的)。我有一个简单的 div 作为带有以下子项的按钮:一个包含总点赞数的跨度和一个用于某些文本的段落。我需要使用 .live() 因为某些内容是使用 AJAX 加载的。我需要取消绑定/终止该事件,因为一旦单击该 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

一种解决方案是仅检查它是否已在实时功能中的该元素上执行。

$(".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 回答