在这期间,我制作了一些新的webApps,但拖放时遇到了很大的问题。 我用javascript写了一个文件管理器,但是当我在手机上(智能手机,平板电脑和i或iOs)我尝试拖放工作时,手机会向我显示复制网址或图片的longPress菜单(在文件夹图标上用于examample)。 JS中有一些方法可以在移动设备上禁用longPress吗?
通过css加载图片,对我来说不是一个有效的解决方案。
答案 0 :(得分:6)
-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' */
答案 1 :(得分:0)
检查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;
}