gpt4 book ai didi

javascript - preventDefault on touchstart 不阻止滚动

转载 作者:行者123 更新时间:2023-11-30 06:26:12 29 4
gpt4 key购买 nike

有与此类似的问题,但解决方案要么涉及另一个库,要么改用点击事件 - 我想知道没有库是否可行。

我在图像上使用 touchstart 事件来检测 1.5 秒的点击,然后重新加载所述图像。然而,在大多数移动设备上,当您按住图像一段时间时,它会显示一个弹出窗口,询问您是否要保存/复制图像,我想阻止这种情况。

preventDefault() 可以解决问题,但也忽略了图像上的滚动(正如预期的那样)。

同时允许在图像上滚动的最佳方法是什么?

示例代码:

$('#the-image').bind('touchstart', function(event) {
event.preventDefault();
//detects long tap, then reloads etc
});

iOS 有一个 CSS 属性 (-webkit-touch-callout:none) 可以正常工作,但不适用于非 iOS 设备。

感谢任何帮助。

最佳答案

试试 -webkit-touch-callout: none;
-webkit-用户选择:无;
-khtml-用户选择:无;
-moz-用户选择:无;
-ms-用户选择:无;
user-select: none;
如果您可以使用 CSS。

一个不错的技巧是 node.ontouchstart = node.onclick; 所以它认为您正在使用计算机鼠标。

参见 Disabling the context menu on long taps on Android

关于javascript - preventDefault on touchstart 不阻止滚动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20915251/

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