在Ipad safari浏览器上点击一会儿禁用默认功能

use*_*104 5 javascript jquery ipad

默认按住屏幕(例如按住1秒)将显示保存图像/复制的选项。但是,我想关闭我的网络应用程序的该功能,可以吗?我尝试将 touchmove 事件替换为 selectall ,但它不起作用。谢谢你的帮助。

addEventListener('touchmove', function(e) { e.preventDefault(); }, true);
Run Code Online (Sandbox Code Playgroud)

Tim*_*ler 3

我认为值得一提的是,您可以使用纯 CSS 来完成此操作。这可能不是一个好主意,因为 IE10 或 Opera Mobile 都不支持它。但这是可以做到的,而且在未来,这可能是比 JavaScript 更好的方法。或者,如果您只谈论 iPhone 和 iPad,则此方法非常有效。这是CodePen 上的一个示例。

代码很简单:

.notouch {
    pointer-events: none;
}
Run Code Online (Sandbox Code Playgroud)

notouch只需为您想要效果的任何图像指定 的 类即可。

如果您想对页面上的每个图像执行此操作,请执行以下操作:

img {
    pointer-events: none;
}
Run Code Online (Sandbox Code Playgroud)

我应该就可用性发表一次强制性演讲。通过这样做,您将覆盖人们期望始终存在的默认功能。关闭这样的功能会给你带来非常糟糕的体验,除非你有一个非常非常好的理由这样做。所以请确保你这样做。

编辑

要摆脱放大镜,请使用以下代码:

.notouch {
    pointer-events: none;
    -webkit-user-select:none;
}
Run Code Online (Sandbox Code Playgroud)

设置为“无”时,-webkit-user-select您甚至可能不需要关闭指针事件,但我不确定这一点。我也更新了 CodePen。