我目前在针对 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/