实现每次触发事件后隔一段时间后才能再次触发事件

比如:

每次点击“提交”按钮后隔3s后才能再次提交。

可以这样:点击后设置按钮不可用,并在3s后再设置按钮可用

$('#button1').click(function(){         
    //在这里提交或做别的事
    $(this).attr("disabled",true); 
    setTimeout("$('#button1').attr('disabled',false);", 3000);
    //此处setTimeout里面不能用$(this),this指的是window对象
});     

如果不是button,而是某个div,则可以通过一个自定义属性或别的变量来标示是否要响应事件:

对节点添加canClick属性:<div id='div1' canClick=true>click</div>

$('#div1').click(function(){ 
    if($(this).attr('canClick')=='true'){
        //do something
        $(this).attr("canClick",'false'); 
        setTimeout("$('#div1').attr('canClick','true');", 3000);
    }
});        

注意:

自定义属性只能是string类型,即使在html节点里设置canClick=0或canClick=false,或直接<div canClick>,

js取值时都会变成‘0’和'false'和''(空字符串),当为前两种情况时if($(this).attr('canClick'))均为true。

所以要用字符串与自定义属性值比较,而不是用Number和Boolean类型与它判断。

 
 

 

转载于:https://www.cnblogs.com/yigeqi/p/3881549.html

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值