怎么让click事件在指定时间内只响应一次,jquery。
3个回答
展开全部
问题分析:
想要在一定时间内,事件回调函数仅执行一次,需要在外部做一个计时器变量。当进入事件的回调函数时,启动这个计时器,倒计时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秒内再次点击按钮的结果:
展开全部
用bind绑定click事件函数,然后用unbind()移除事件绑定。
或者用one()来绑定click,这个只执行一次就会自动删除。
每当我为知友回答问题翻那些我自己都不爱看的书的时候,我都觉得自己很高尚。
或者用one()来绑定click,这个只执行一次就会自动删除。
每当我为知友回答问题翻那些我自己都不爱看的书的时候,我都觉得自己很高尚。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
只执行一次,可以在执行了click事件之后,移除click事件!
如果想自动触发click的话,调用jQuery代码click()方法就行了
如果想自动触发click的话,调用jQuery代码click()方法就行了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询