移动Safari上的惯性滚动事件

Adr*_*wne 5 javascript safari events scroll ipad

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

是否有一个不断发射的滚动事件或其他一些方法来检测当前正在发生滚动?

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

小智 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>
Run Code Online (Sandbox Code Playgroud)

  • 我相信他指的是动量滚动周期,该周期不是由“touchmove”或“scroll”事件处理的。 (4认同)