gpt4 book ai didi

javascript - 阻止 touchStart 但允许单击事件

转载 作者:行者123 更新时间:2023-12-03 05:52:19 25 4
gpt4 key购买 nike

我想阻止 touchStart 事件,以防止 Safari 在某些条件下在 iOS 设备中弹出。

为此,我使用以下方法:

$('.wrapper').on('touchstart', function(e) {
e.preventDefault();
});

但现在没有任何点击事件对其起作用:

$('.wrapper').on('click', function() {
$('.wrapper').text('Click fired');
});

Reproduction online

我无法将 click 事件替换为任何其他事件。因为这可能来自最终用户。

在 iOS 10 之前,弹跳 could be avoided by preventing only touchMove但从 iOS 10 开始,除非 touchStart 也被阻止,否则它会反弹。

有没有办法只阻止 touchStart 事件但允许使用 click 事件?

最佳答案

我没有可供试驾的 iOS 10,这是一个大胆的猜测,但请检查以下代码片段:

$('.wrapper').on('click touchstart', function(e) {
if (e.type != 'click') {
e.preventDefault();
} else {
$('.wrapper').text('Click fired');
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="wrapper">asd</div>

关于javascript - 阻止 touchStart 但允许单击事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40094570/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com