移动Safari上的惯性滚动事件

时间:2012-03-22 21:18:21

标签: javascript ipad events safari scroll

我目前正在使用溢出:在针对iPad优化的网页上滚动,效果很好。我开始遇到滚动div中项目上的触摸事件的问题,因为它将滚动滑动解释为触摸。由于没有滚动完成事件,并且每次滚动时都会触发滚动事件,我尝试检测滚动事件并设置计时器以暂时禁用触摸事件。但是,我发现每次用户启动滚动时都会触发滚动事件,这很少是惯性滚动。

是否有持续触发滚动事件或其他一些方法来检测当前正在进行滚动?

这只是Mobile Safari惯性滚动的问题,因为当您在OS X上移动鼠标时,惯性滚动会自动停止,因此要启动点击事件,您通常需要移动鼠标,从而避免冲突。您也没有触摸的双重输入用于滚动和触摸以进行点击。

1 个答案:

答案 0 :(得分:3)

<script type="text/javascript">
<!--
    document.addEventListener("touchmove", ScrollStart, false);
    document.addEventListener("scroll", Scroll, false);
    function ScrollStart() {
        //start of scroll event for iOS
    }
    function Scroll() {
        //end of scroll event for iOS
        //and
        //start/end of scroll event for other browsers
    }   
// -->
</script>