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

比如:

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


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

时间: 2024-10-05 23:26:49

实现每次触发事件后隔一段时间后才能再次触发事件的相关文章

鼠标悬停(鼠标悬停一段时间后触发事件)一段时间后触发事件

<html> <head> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <script type="text/javascript"> var mytimer = null; function beginEvent(){ //window.setTimeout("alert('Hello, worl

storm每隔一段时间发送tuple

TickTuple可以满足每隔一段时间发送tuple,"__system" component会定时往task发送 "__tick" stream的tuple, 发送频率由TOPOLOGY_TICK_TUPLE_FREQ_SECS来配置, 可以在default.ymal里面配置, 也可以在代码里面通过getComponentConfiguration()来进行配置. 代码里面配置如下 public Map<String, Object> getCompo

隔一段时间应用就会挂掉(进程在,但停止响应,也无log输出),必须重启tomcat

此处是转载的  是给自己做的备注 问题:隔一段时间应用就会挂掉(进程在,但停止响应,也无log输出),必须重启tomcat 原因查找:由于tomcat自身log中并无错误产生,磁盘空间足够,读写也正常,排除其他原因后怀疑是jvm崩溃导致,于是查gc日志:从上图可以看出每次full GC是老年代内存占用量相当小,远没有达到它的最大值,持久代也一样,而且每次GC过后,占用量基本没有变化,也就是说,每一次full GC都是在做无用功,白白浪费掉了一大批性能.从内存占用率方面看不是内存分配不够,应该是程

setTimeout() 实现程序每隔一段时间自动执行

定义和用法 setTimeout() 方法用于在指定的毫秒数后调用函数或计算表达式. 语法 setTimeout(code,millisec) 参数 描述 code 必需.要调用的函数后要执行的 JavaScript 代码串. millisec 必需.在执行代码前需等待的毫秒数. 提示和注释 提示:setTimeout() 只执行 code 一次.如果要多次调用,请使用 setInterval() 或者让 code 自身再次调用 setTimeout(). [示例] //每5秒使用Ajax取一次

c#实现每隔一段时间执行代码(多线程)

总结以下三种方法,实现c#每隔一段时间执行代码: 方法一:调用线程执行方法,在方法中实现死循环,每个循环Sleep设定时间: 方法二:使用System.Timers.Timer类: 方法三:使用System.Threading.Timer: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46

解决Zabbix使用一段时间后总报Zabbix Agent不可到达的问题

Zabbix使用一段时间后总是报Zabbix Agent不可到达,报错文字如下: Zabbix Server Messages: PROBLEM: Zabbix agent on Zabbix server is unreachable for 5 minutes 首先查看Zabbix Agent的日志,找到关键出错信息,日志如下: 来自:/tmp/zabbix_agentd.log mysqladmin: connect to server at 'localhost' failed    e

可以每隔一段时间自动运行的一个批处理

可以每隔一段时间自动运行的一个批处理  zidong.bat代码 @echo off :Begin Start "d:\print.bat" rem 下面这行是延时代码,300是秒做单位的,300秒就是5分钟,需要多长时间自改一下 @Ping 127.0.0.1 -n 300 Goto Begin 执行后有个问题是每次关不掉print.bat print.bat代码 net session /delete /y 问题有待解决

setTimeout() 实现程序每隔一段时间自己主动运行

定义和使用方法 setTimeout() 方法用于在指定的毫秒数后调用函数或计算表达式. 语法 setTimeout(code,millisec) 參数 描写叙述 code 必需.要调用的函数后要运行的 JavaScript 代码串. millisec 必需.在运行代码前需等待的毫秒数. 提示和凝视 提示:setTimeout() 仅仅运行 code 一次.假设要多次调用,请使用 setInterval() 或者让 code 自身再次调用 setTimeout(). [演示样例] //每5秒使用

网站部署中遇到的问题-过一段时间后连不上服务器

问题描述: 这个情况我只针对局域网说明,我在一个局域网内用电脑A作为服务器,并部署站点site1.在这个局域网内的电脑可以正常访问site1. 可是过一段时间后无法访问site1,重新登录A后,又恢复了对site1的访问. 原因: 设置了电脑的睡眠时间. 解决方法: 将电脑A的的睡眠时间设置为"从不".设置步骤:控制面板—>电源—>更改睡眠时间.