Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/459.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Mobile Safari上惯性滚动的事件_Javascript_Ipad_Events_Safari_Scroll - Fatal编程技术网

Javascript Mobile Safari上惯性滚动的事件

Javascript Mobile Safari上惯性滚动的事件,javascript,ipad,events,safari,scroll,Javascript,Ipad,Events,Safari,Scroll,我目前正在使用overflow:在为iPad优化的网页上滚动,效果非常好。我开始在滚动div中的项目上遇到触摸事件的麻烦,因为它将滚动滑动解释为触摸。由于没有滚动完成事件,并且每次滚动时滚动事件都会触发,因此我尝试检测滚动事件并设置计时器暂时禁用触摸事件。但是,我发现scroll事件仅在用户每次启动滚动时触发,这在惯性滚动中很少发生 是否存在持续触发滚动事件或其他方式来检测当前正在发生的滚动 这只是Mobile Safari上惯性滚动的一个问题,因为在OS X上移动鼠标时,惯性滚动会自动停止,因

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

是否存在持续触发滚动事件或其他方式来检测当前正在发生的滚动

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


<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>

我相信他指的是动量滚动期,它不是由“touchmove”或“scroll”事件处理的。在iOS7上花了一天时间验证这一点,div设置为overflow:scroll-safari将在两种情况下触发滚动事件:1)用户触摸然后移动他们的触摸启动滚动-看起来像滚动事件触发的次数与本例中的touchmove事件相同2)用户启动了一个“flick”风格的滚动-safari只会在滚动停止时触发滚动事件(包括底部反弹),因为我还查看了Android 4.4上的Chrome-当滚动发生时Chrome实际上会触发滚动事件(即使有惯性)并将在滚动的开始处触发单个touchmove事件。然而,Safari会在按住手指并滚动div的同时触发scroll和touchmove事件。有人知道如何解释滚动的动量吗?如果我使用上面的方法,即使滚动速度减慢并且没有完全停止,滚动结束也会触发。