我正在尝试按下按钮,在ajax响应中将其解除绑定2秒,然后将其重新绑定。
$('#invite').click(function(){
/*ajax*/
});
和ajax回应:
//ajax response
function(rep){
/*do stuff*/
$('#invite').unbind();
$(this).delay(2000).bind();
}
但它不起作用,按钮永远不受约束,任何想法?
答案 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
变量,如果这个样本不适合你......你明白了......