怎么让click事件在指定时间内只响应一次,jquery。

 我来答
张恺阳
2017-05-14 · 知道合伙人软件行家
张恺阳
知道合伙人软件行家
采纳数:166 获赞数:532
开发过各种类型网站及APP等,如有相关问题可以随时向我提问。

向TA提问 私信TA
展开全部

问题分析:

想要在一定时间内,事件回调函数仅执行一次,需要在外部做一个计时器变量。当进入事件的回调函数时,启动这个计时器,倒计时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秒内再次点击按钮的结果:

山东王建设
2012-07-18 · 西门子STL,SCL编程,STL代码转换SCL代码。
山东王建设
采纳数:100 获赞数:243

向TA提问 私信TA
展开全部
用bind绑定click事件函数,然后用unbind()移除事件绑定。
或者用one()来绑定click,这个只执行一次就会自动删除。

每当我为知友回答问题翻那些我自己都不爱看的书的时候,我都觉得自己很高尚。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
花石零元购
2012-07-18 · TA获得超过160个赞
知道小有建树答主
回答量:192
采纳率:100%
帮助的人:113万
展开全部
只执行一次,可以在执行了click事件之后,移除click事件!
如果想自动触发click的话,调用jQuery代码click()方法就行了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式