javascript - 点击事件重复点击并且重复请求数据。

查看:159
本文介绍了javascript - 点击事件重复点击并且重复请求数据。的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

$(".ass_ull li").unbind('click').click(function () {
    var i = $(this).index();
    $(this).addClass("ass_ull_2").siblings().removeClass("ass_ull_2");        
    aa(i);
});

aa();

aa()是我写的请求数据一个方法。重复点击一个的话 函数aa()会重复请求数据,这样怎么办呢?

解决方案

根据评论整理了下你要实现的功能:
1.一组按钮中单个按钮一定时间内不能重复点击
2.按钮之间可以任意点击切换。
所以,你的需求就是同一按钮不能重复点击请求数据
看代码。

点击事件外部设置一个var flag = true ,再设置一个indexActive = -1;
点击事件内部判断flag

var assLiClickFlag = true, indexActive = -1;
$(".ass_ull li").on('click',function () {
    var i = $(this).index();
    if(assLiClickFlag === true || indexActive !== i){
        flag = false;
        indexActive = i;
        $(this).addClass("ass_ull_2").siblings().removeClass("ass_ull_2");        
        aa(i);
        //函数体结束后用延时器把assLiClickFlag改为true(限定在不能重复点击),或者不改回只请求一次
        setTimeout(function(){
            assLiClickFlag = true;
        },2000)    //2秒内不能重复点击
    }else{
        console.log('两秒内重复点击同一个按钮')//测试
    }           
});

这篇关于javascript - 点击事件重复点击并且重复请求数据。的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆