屏幕上默认保持点击(例如,按住1秒钟)将显示保存图像/复制的选项。但是,我想关闭我的网络应用程序的功能,是否可能?我试图将touchmove的事件替换为selectall,但它不起作用。谢谢你的帮助。
addEventListener('touchmove', function(e) { e.preventDefault(); }, true);
答案 0 :(得分:4)
不仅可以禁用preventDefault,还可以禁用其他属性:
e.preventDefault();
e.cancelBubble = true;
e.returnValue = false;
return false;
同样的事件,你确定它是touchmove吗?
答案 1 :(得分:3)
我认为值得一提的是你可以用纯CSS做到这一点。它可能不是一个好主意,因为IE10或Opera Mobile都不支持它。但它可以完成,并且在未来,这可能是比使用JavaScript更好的方式。或者如果你只是在谈论iPhone和iPad,这种方法会很好用。这是一个例子on CodePen。
代码很简单:
.notouch {
pointer-events: none;
}
只需将notouch
类提供给您想要影响的任何图像。
如果要对页面上的每个图像执行此操作,请执行以下操作:
img {
pointer-events: none;
}
我应该就可用性发表强制性演讲。通过这样做,您可以覆盖人们期望一直存在的默认功能。除非你有一个非常真的这样做的理由,否则这会给你带来非常糟糕的体验。所以,请确保你这样做。
修改强>:
要摆脱放大镜,请使用以下代码:
.notouch {
pointer-events: none;
-webkit-user-select:none;
}
将-webkit-user-select
设为'无'你可能甚至不需要关闭指针事件,但我不确定。我也更新了CodePen。