我目前正在使用溢出:在针对iPad优化的网页上滚动,效果很好。我开始遇到滚动div中项目上的触摸事件的问题,因为它将滚动滑动解释为触摸。由于没有滚动完成事件,并且每次滚动时都会触发滚动事件,我尝试检测滚动事件并设置计时器以暂时禁用触摸事件。但是,我发现每次用户启动滚动时都会触发滚动事件,这很少是惯性滚动。
是否有持续触发滚动事件或其他一些方法来检测当前正在进行滚动?
这只是Mobile Safari惯性滚动的问题,因为当您在OS X上移动鼠标时,惯性滚动会自动停止,因此要启动点击事件,您通常需要移动鼠标,从而避免冲突。您也没有触摸的双重输入用于滚动和触摸以进行点击。
答案 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>