怎么让click事件在指定时间内只响应一次,jquery。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎么让click事件在指定时间内只响应一次,jquery。相关的知识,希望对你有一定的参考价值。
问题分析:
想要在一定时间内,事件回调函数仅执行一次,需要在外部做一个计时器变量。当进入事件的回调函数时,启动这个计时器,倒计时N秒后,计时器自动关闭。
每次进入事件回调函数的时候都要判断这个计时器是否为启动状态,如果是启动状态,直接跳出不执行事件即可。
举例如下:
案例为一个按钮的点击事件,最少10秒可执行一次,如果允许执行将提醒“按钮事件被触发”,如果不允许执行将提醒“目前按钮事件不允许被触发”。
HTML代码:
<button>这是一个按钮</button>jQuery代码:
var time = 0;$(\'button\').click(function()
//判断计时器是否处于关闭状态
if (time == 0)
time = 10; //设定间隔时间(秒)
//启动计时器,倒计时time秒后自动关闭计时器。
var index = setInterval(function()
time--;
if (time == 0)
clearInterval(index);
, 1000);
alert(\'按钮事件被触发\');
else
alert(\'目前按钮事件不允许被触发\');
);
首次点击按钮的结果:
在10秒内再次点击按钮的结果:
参考技术A 用bind绑定click事件函数,然后用unbind()移除事件绑定。或者用one()来绑定click,这个只执行一次就会自动删除。
每当我为知友回答问题翻那些我自己都不爱看的书的时候,我都觉得自己很高尚。本回答被提问者和网友采纳 参考技术B 只执行一次,可以在执行了click事件之后,移除click事件!
如果想自动触发click的话,调用jQuery代码click()方法就行了
uni-app防抖和节流
参考技术A 所谓防抖,就是指触发事件后,就是把触发非常频繁的事件合并成一次去执行。即在指定时间内只执行一次 回调函数 ,如果在指定的时间内又触发了该事件,则回调函数的执行时间会基于此刻重新开始计算。所谓节流,是指频繁触发事件时,只会在指定的时间段内执行事件回调,即触发事件间隔大于等于指定的时间才会执行回调函数。
具体使用:
以上是关于怎么让click事件在指定时间内只响应一次,jquery。的主要内容,如果未能解决你的问题,请参考以下文章