jquery - ajax上的unbind / bind按钮

时间:2014-04-30 07:03:01

标签: jquery

我正在尝试按下按钮,在ajax响应中将其解除绑定2秒,然后将其重新绑定。

$('#invite').click(function(){
       /*ajax*/
 });

和ajax回应:

//ajax response
function(rep){
/*do stuff*/
$('#invite').unbind();
$(this).delay(2000).bind();
}

但它不起作用,按钮永远不受约束,任何想法?

3 个答案:

答案 0 :(得分:0)

当您解除元素中的任何事物时,它不会存储信息,因此当您再次绑定它时,没有任何内容可以绑定。

如果要再次绑定它,只需将功能存储在函数中。

function x(){
 // any thing
  $('#invite').click(function(){
   /*ajax*/
  });
} 

用于绑定

$('#invite').bind(x);

解除绑定

$('#invite').unbind();

答案 1 :(得分:0)

喜欢这个

function f1(){
             }

$('#invite').click(function(){
   f1();
});

$( "#invite" ).unbind( "click");
$(this).delay(2000).bind("click",f1);

答案 2 :(得分:0)

不要绑定/取消绑定......它变得混乱...... :)。

尝试设置标志变量。

样品:

在这里

var flag = false;
$('#invite').click(function(){
     if (flag) return false; // if flag is true, don't run codes below this line
     flag = true;
       /*ajax*/
});

然后,

//ajax response
function(rep){
/*do stuff*/
setTimeout(function(){flag=false},2000);
}
好吧,就像那样......或者只是相应地改变flag变量,如果这个样本不适合你......你明白了......