我很好奇是否有人找到解决方案,当用户在页面上拖动手指时禁用默认的 Spring 加载 iOS 页面移动。对于完全可见的页面(即无需滚动),页面会移动并弹回原位。
我发现禁用“touchstart”可以有效地解决这个问题,但它会破坏所有点击事件!?!例如:
document.addEventListener('touchstart', function(e) {
e.preventDefault();
}, false);
我尝试了其他触摸/鼠标事件,但没有运气。我猜有人知道可以禁用此功能的 secret webkit CSS 或 JavaScript 属性。
编辑: 作为我正在寻找的示例,这里是通过 CSS 禁用其他默认 iOS Webkit 行为的类似答案。不幸的是,这些似乎不适用于我的问题:
Prevent default Press but not default Drag in iOS MobileSafari?
Best Answer-推荐答案 strong>
我本可以发誓我尝试过这个,但似乎“touchmove”可以解决问题?
document.addEventListener('touchmove', function(e) {
e.preventDefault();
}, false);
更新:经过更多测试,是的,这确实可以解决问题。似乎永远不应该在“touchstart”上使用 e.preventDefault(),因为这也会阻止所有其他鼠标事件。
关于iphone - 用于停止页面运动的 iOS Safari 标志?,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/8014613/
|