在此期间,我制作了一些新的网络应用程序,但我在拖放方面遇到了很大的问题。我用 javascript 编写了一个文件管理器,但是在移动设备(智能手机、平板电脑和 iOs)上我尝试拖放时,手机会显示 longPress 菜单(在文件夹图标上,例如)用于复制 url 或图像。JS中有什么方法可以在手机上禁用longPress?
通过 css 加载图像,对我来说不是一个有效的解决方案。
在此期间,我制作了一些新的网络应用程序,但我在拖放方面遇到了很大的问题。我用 javascript 编写了一个文件管理器,但是在移动设备(智能手机、平板电脑和 iOs)上我尝试拖放时,手机会显示 longPress 菜单(在文件夹图标上,例如)用于复制 url 或图像。JS中有什么方法可以在手机上禁用longPress?
通过 css 加载图像,对我来说不是一个有效的解决方案。
-webkit-touch-callout: none; /* prevent callout to copy image, etc when tap to hold */
-webkit-user-select: none; /* prevent copy paste, to allow, change 'none' to 'text' */
检查值navigator.userAgent
并与 android|iphone|ipad 等进行比较,在您的 java 脚本中,您可以执行以下操作
function init() {
onLongPress(document.getElementById('element'));
}
function onLongPress(node) {
node.ontouchstart = nullEvent;
node.ontouchend = nullEvent;
node.ontouchcancel = nullEvent;
node.ontouchmove = nullEvent;
}
function nullEvent(event) {
var e = event || window.event;
e.preventDefault && e.preventDefault();
e.stopPropagation && e.stopPropagation();
e.cancelBubble = true;
e.returnValue = false;
return false;
}