2

我已经为页面上的 div 创建了一个简单的 Jquery 滚动,除了在 iPad 上之外,它可以完美地工作,触摸向下按钮任何时间都会导致 iPad 询问我是要复制还是定义。

有没有办法告诉它不要这样做?还是有另一种方法可以在 iPad/iOS 上完成整个滚动操作?

这是 Jquery(在桌面上也使用 mousedown):

$('#down').on( "mousedown touchstart", function(){ 
        timeoutId = setInterval(function(){scrollIt(5)}, 20);
    }).bind('mouseup mouseleave', function() {
        clearInterval(timeoutId);
    });
4

3 回答 3

2

找到答案了,感谢各位大侠的启发:

首先:e.preventDefault();由于某种原因导致可怕的几乎振动,但从那里尝试过return false完美的工作。

回答

$('#down').on( "mousedown touchstart", function(){ 
        timeoutId = setInterval(function(){scrollIt(5)}, 20);
        return false;
    }).bind('mouseup touchend', function() {
        clearInterval(timeoutId);
    });
于 2013-05-20T13:21:18.307 回答
0

尽量防止默认事件:

$('#down').on( "mousedown touchstart", function(e){ 
    e.preventDefault();
    timeoutId = setInterval(function(){scrollIt(5)}, 20);
}).bind('mouseup mouseleave', function(e) {
    e.preventDefault();
    clearInterval(timeoutId);
});
于 2013-05-20T13:06:50.620 回答
0

您可以使用 touchend 而不是 mouseleave,如下所示:

$('#down').on( "mousedown touchstart", function(){ 
        timeoutId = setInterval(function(){scrollIt(5)}, 20);
    }).bind('mouseup touchend', function() {
        clearInterval(timeoutId);
    });
于 2013-05-20T13:13:45.507 回答