繁体   English   中英

触摸启动时的preventDefault而不阻止滚动

[英]preventDefault on touchstart without preventing scrolling

这个问题也有类似的问题,但是解决方案要么包含另一个库,要么使用click事件-我想知道没有库是否可以实现。

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

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-user-select: none; -khtml-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; -webkit-touch-callout: none; -webkit-user-select: none; -khtml-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; 如果可以使用CSS。

一个不错的技巧是node.ontouchstart = node.onclick; 因此认为您使用的是电脑鼠标。

请参阅在Android上长按以禁用上下文菜单

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM