javascript - Mobile Safari 上的惯性滚动事件

标签 javascript ipad events safari scroll

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

是否有持续触发的滚动事件或其他检测当前正在发生滚动的方法?

这只是 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>

关于javascript - Mobile Safari 上的惯性滚动事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9830701/

相关文章:

javascript - WebStorm 识别 Protractor 配置选项

javascript - 在悬停 css 上动画 div - 可能的循环

javascript - 如何查看ajax调用完成后将执行的所有方法?

c# - 使用扩展方法引发 C# 事件 - 这不好吗?

javascript - 如何在分层 SVG 出现在视口(viewport)上时激活其动画?

javascript - 如何在无服务器框架中使用 jquery?

ios - NSEntityDescription 仅在 iPad Air 7.1 上返回 nil

iphone - UIWebview 中的谷歌地图显示行车路线而不是直接显示 map

iphone - iPhone-关于内存使用情况,NSString和NSMutableString之间的区别

javascript - 如何使用拓扑图处理 Cytoscape.js Canvas 上的鼠标滚动和按键事件