一旦与live func绑定

时间:2011-12-07 15:14:36

标签: jquery live die

如何使用实时功能绑定点击?

我试过了:

$('.expansion_button').die('click', function(){
   $('.expansion_button').live('click', expansion);
});

但是这个,在ajax查询之后两次绑定点击;

我该如何修理?

(我的英语很差)

3 个答案:

答案 0 :(得分:1)

如果我理解正确的话,试试这个

$('.expansion_button').one('click', function(){
   alert('Next click will not alert!');
});  

Here是上述代码的工作演示

答案 1 :(得分:1)

如果您希望活动处理程序每​​个匹配的元素只执行一次,请执行以下操作:

$('.expansion_button').live('click', function(e){

    if( $.data( this, "liveclicked" ) ) {
    return true;
    }

$.data( this, "liveclicked", true );
return expansion.apply( this, arguments );
});

答案 2 :(得分:0)

Jquery .die()杀死你附加到该元素的处理程序。为了绑定它,你只需使用live:

 $('.expansion_button').live('click', expansion);

然后在该函数中的某个地方如果要删除绑定事件,则调用.die(),如下所示:

$("unbind-element").click(function () { 
  $(expansion_button).die(); 
});