Javascript 在Ipad safari浏览器上轻按片刻时禁用默认功能

Javascript 在Ipad safari浏览器上轻按片刻时禁用默认功能,javascript,jquery,ipad,Javascript,Jquery,Ipad,默认情况下,在屏幕上保持点击(如按住点击1秒)将显示保存图像/复制选项。但是,我想为我的web应用关闭该功能,是否可能?我已尝试将touchmove事件替换为selectall,但它不起作用。谢谢你的帮助 addEventListener('touchmove', function(e) { e.preventDefault(); }, true); 禁用preventDefault和其他属性可能都是有益的: e.preventDefault(); e.cancelBubble = true

默认情况下,在屏幕上保持点击(如按住点击1秒)将显示保存图像/复制选项。但是,我想为我的web应用关闭该功能,是否可能?我已尝试将touchmove事件替换为selectall,但它不起作用。谢谢你的帮助

addEventListener('touchmove', function(e) { e.preventDefault(); }, true);

禁用preventDefault和其他属性可能都是有益的:

e.preventDefault(); 
e.cancelBubble = true;
e.returnValue = false;
return false;

还有这个活动,你确定它是touchmove吗?

我想值得一提的是,你可以用纯CSS来实现这一点。这可能不是一个好主意,因为IE10和Opera Mobile都不支持它。但这是可以做到的,而且在未来,这可能是一种比使用JavaScript更好的方法。或者,如果你只谈论iphone和ipad,这种方法会非常有效。这里有一个例子

代码很简单:

.notouch {
    pointer-events: none;
}
只需将
notuch
类指定给您想要影响的任何图像即可

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

img {
    pointer-events: none;
}
我应该做一个关于可用性的强制性演讲。通过这样做,您将覆盖人们一直期望的默认功能。除非你有一个非常非常好的理由这样做,否则关闭这样的东西会给你带来非常糟糕的体验。所以,请确保你做到了

编辑

要去除放大镜,请使用以下代码:

.notouch {
    pointer-events: none;
    -webkit-user-select:none;
}

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

您确定您听到的是正确的事件(
'touchmove'
)?如果我想在iPad上保存图像,我无法移动手指(太多),否则弹出窗口将不会显示。可以肯定touchmove不是正确的事件,因此我想知道哪个是正确的事件名称。请查看不同的touch事件名称。(我不确定你是否能阻止“保存?”对话框)
stopPropagation
只是IE,OP要求iPad功能。谢谢,如果指针事件被禁用,会显示一个管理器,有没有办法也禁用它?我想我找到了一个方法。更新答案。