在 Safari 10 上,通过定义一个简单的侦听器来阻止touchmove
可滚动元素中的默认事件,该事件不会像在 Safari 9 及更低版本中那样被默认阻止(在所有主要浏览器中也是如此)。
这可以在这里重现:http: //codepen.io/anon/pen/PGRxOv
重现步骤:
- 获取具有可滚动内容的元素(溢出:滚动)。
- 为事件添加一个事件侦听器
touchmouve
,并调用event.preventDefault()
该事件侦听器。
预期成绩:
该元素不应该是可滚动的。
实际结果:
该元素在 Safari 10 上仍可滚动。
版本: iOS 10.0.2
可能是 webkit 问题...我在 webkit bug tracker 上打开了一个问题。
同时,如果有人有解决方法(除了阻止touchstart
),那就太好了:)
我也尝试return false
在侦听器中,但它也不起作用。