我有一个简单的应用程序来添加引号和喜欢引用的可能性(不像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)不起作用还有其他解决方案吗?
答案 0 :(得分:1)
一种解决方案是检查它是否已在实时函数中的该元素上执行。
$(".btnlike").live('click',function(event){
if ($(this).data('clicked')) {
// already ran it
return;
}
// mark it as being run
$(this).data('clicked', true);
});