OGeek|极客世界-中国程序员成长平台

标题: iphone - 用于停止页面运动的 iOS Safari 标志? [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-11 20:27
标题: iphone - 用于停止页面运动的 iOS Safari 标志?

我很好奇是否有人找到解决方案,当用户在页面上拖动手指时禁用默认的 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-推荐答案


我本可以发誓我尝试过这个,但似乎“touchmove”可以解决问题?

document.addEventListener('touchmove', function(e) {
    e.preventDefault();
}, false);

更新:经过更多测试,是的,这确实可以解决问题。似乎永远不应该在“touchstart”上使用 e.preventDefault(),因为这也会阻止所有其他鼠标事件。

关于iphone - 用于停止页面运动的 iOS Safari 标志?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8014613/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://ogeek.cn/) Powered by Discuz! X3.4