快速Click事件和延长的MouseDown之间的JQuery区别

时间:2011-04-22 01:23:00

标签: javascript jquery click

我正在尝试创建一个滚动按钮,对快速单击事件的反应与对延长的MouseDown(单击并按住)的反应不同。快速单击事件将滚动特定数量的像素,而单击并按住将慢慢滚动窗格,直到鼠标向上停止。

这就是我目前的情况:

var mdown;
$('.next').bind('mousedown', function(event) {
    mdown = event.timeStamp;
    moving = setInterval(function(){
        $('#main').scrollLeft($('#main').scrollLeft() + 5);
    }, 1);
});
$('.next').bind('mouseup', function(event) {
    clearInterval(moving);
    if ((event.timeStamp - mdown) < 100) 
        $('#main').animate({ scrollLeft : '+=800'}, 500);
});

有没有其他方法可以在不比较事件时间戳的情况下执行此操作?点击事件的处理方式与mousedown / mouseup不同吗?谢谢!

1 个答案:

答案 0 :(得分:2)

检查此插件(它定义了一个处理长按的事件):

https://github.com/pisi/Longclick