zoukankan      html  css  js  c++  java
  • 实现每次触发事件后隔一段时间后才能再次触发事件

    比如:

    每次点击“提交”按钮后隔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类型与它判断。

    
    
    
  • 相关阅读:
    CalcIntegerLength
    ReadIniTest_GetPrivateProfileString
    map test
    逻辑判断
    AppDomain.Unload_MarshalByRefObject
    网络编程
    pymysql
    MySQL多表查询
    MySQL单表查询
    python3 中引用 HTMLTestRunner.py 模块的注意事项
  • 原文地址:https://www.cnblogs.com/yigeqi/p/3881549.html
Copyright © 2011-2022 走看看