【发布时间】:2012-01-15 02:24:50
【问题描述】:
如何将点击与实时功能绑定一次?
我试过了:
$('.expansion_button').die('click', function(){
$('.expansion_button').live('click', expansion);
});
但是这个,ajax查询后两次绑定点击;
我该如何解决?
(我的英语很差)
【问题讨论】:
如何将点击与实时功能绑定一次?
我试过了:
$('.expansion_button').die('click', function(){
$('.expansion_button').live('click', expansion);
});
但是这个,ajax查询后两次绑定点击;
我该如何解决?
(我的英语很差)
【问题讨论】:
如果我理解正确,试试这个
$('.expansion_button').one('click', function(){
alert('Next click will not alert!');
});
Here 是上述代码的工作演示
【讨论】:
如果您希望实时处理程序对每个匹配的元素只执行一次,请执行以下操作:
$('.expansion_button').live('click', function(e){
if( $.data( this, "liveclicked" ) ) {
return true;
}
$.data( this, "liveclicked", true );
return expansion.apply( this, arguments );
});
【讨论】:
Jquery .die() 会杀死您附加到该元素的处理程序。为了绑定它,您只需像以前一样使用 live:
$('.expansion_button').live('click', expansion);
如果你想删除绑定的事件,然后调用 .die(),则在该函数的某个位置,例如:
$("unbind-element").click(function () {
$(expansion_button).die();
});
【讨论】: