如何检测快速点击对象?

时间:2017-04-19 01:12:18

标签: javascript jquery

我正在尝试检测快速点击按钮,并添加一个css类,如果用户快速点击按钮(每600毫秒超过1次点击),就会在对象上添加“img-carousel-div-animation”。 我尝试了setTimeout func,它删除了类,但是它没有用,因为它无论如何都运行了函数,但是我只需要在用户没有点击按钮600ms时运行。这是我试过的代码:

function slideLeft() {
if (isEnd == 0) {
    imgCarouselDiv.addClass('img-carousel-div-animation');
    animationTime = 100;
} else {
    imgCarouselDiv.removeClass('img-carousel-div-animation');
    animationTime = 540;
}
changeSlide(n, 0, 1);
n--;
}

function changeSlide(a, c, d) {
isEnd = 0;
setTimeout(function() {
    isEnd = 1;
}, 540);
//rest of function
...
}

2 个答案:

答案 0 :(得分:0)

删除该类不会从元素中删除click事件。如果元素仍然具有类,则可以检查每次单击,然后在超时时添加类。

答案 1 :(得分:0)

这称为 debouncing 。 David Walsh有a very nice post about the subject,它的工作方式非常简单,实际上并不依赖于jQuery。