菜鸟教程小白 发表于 2022-12-11 20:27:08

iphone - 用于停止页面运动的 iOS Safari 标志?


                                            <p><p>我很好奇是否有人找到解决方案,当用户在页面上拖动手指时禁用默认的 Spring 加载 iOS 页面移动。对于完全可见的页面(即无需滚动),页面会移动并弹回原位。</p>

<p>我发现禁用“touchstart”可以有效地解决这个问题,但它会破坏<em>所有点击事件</em>!?!例如:</p>

<pre><code>document.addEventListener(&#39;touchstart&#39;, function(e) {
    e.preventDefault();
}, false);
</code></pre>

<p>我尝试了其他触摸/鼠标事件,但没有运气。我猜有人知道可以禁用此功能的 secretwebkit CSS 或 JavaScript 属性。</p>

<p><strong>编辑:</strong> 作为我正在寻找的示例,这里是通过 CSS 禁用其他默认 iOS Webkit 行为的类似答案。不幸的是,这些似乎不适用于我的问题:</p>

<p> <a href="https://stackoverflow.com/questions/5348092/prevent-default-press-but-not-default-drag-in-ios-mobilesafari/5492779#5492779" rel="noreferrer noopener nofollow">Prevent default Press but not default Drag in iOS MobileSafari?</a> </p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>我本可以发誓我尝试过这个,但似乎“touchmove”可以解决问题?</p>

<pre><code>document.addEventListener(&#39;touchmove&#39;, function(e) {
    e.preventDefault();
}, false);
</code></pre>

<p><strong>更新:</strong>经过更多测试,是的,这确实可以解决问题。似乎永远不应该在“touchstart”上使用 e.preventDefault(),因为这也会阻止所有其他鼠标事件。</p></p>
                                   
                                                <p style="font-size: 20px;">关于iphone - 用于停止页面运动的 iOS Safari 标志?,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/8014613/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/8014613/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: iphone - 用于停止页面运动的 iOS Safari 标志?