javascript - 摆脱双击效果

标签 javascript jquery

这是我的 fiddle 。正如您所看到的,我定义了一个简单的点击事件处理程序:

$('#traveller > a').click(function(e) {
    e.preventDefault();

    var $ul = $('#traveller ul');
    if($(this).hasClass('handle-next')) {
        if(Math.abs($ul.position().top - parentPadding) < totalHeight - itemHeight) {
            $ul.animate({top: '-=' + itemHeight});
        }
    }
    else {
        if($ul.position().top - parentPadding < 0) {
             $ul.animate({top: '+=' + itemHeight});
        }
    }
});

我注意到,当我快速双击时,按a.handle-next/a.handle-prevul 位置意外更改。

我如何避免这种行为?

最佳答案

只需检查 $ul 是否有动画:

if($ul.is(':animated')) return;

DEMO

关于javascript - 摆脱双击效果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17783121/

相关文章:

javascript - 是否可以让\w 正则表达式模式也允许 é 等字符?如果没有,还有哪些替代方案?

php - 使用相同的 mysql 查询填充多个下拉列表

php - 为什么这个 jQuery ajax 失败了?

javascript - 缓存图像的 CORS 策略

javascript - ng-change 不适用于选择输入

javascript - 开发屏幕截图 chrome 扩展

javascript - 我的代码中的 Jquery 删除行表错误

javascript - 在一堆其他函数完成后调用一个函数

javascript - 如何将 "this"上下文传递给匿名函数

javascript - 获取受 .slideToggle() 影响的显示状态元素?