2013-02-11 243 views
6

在Safari中,iPadiOS6中,我想选择文本,然后使用JavaScript高亮显示它(更改背景颜色)。但是,当我做文本选择时,会自动弹出一个“复制”选项。我将如何去禁用这个“复制”选项?除了iPad Safari之外,我可以在其他所有浏览器上使用此功能。在iPad Safari浏览器中禁用“复制”功能

这可能吗?我该怎么办?

+0

[HTML元素的禁用文本选择]的可能重复(http://stackoverflow.com/questions/6889960/disable-text-selection-of-html-element) – Trufa 2013-02-11 16:11:05

+0

我认为这是你需要什么,否则请告诉我。 – Trufa 2013-02-11 16:11:34

+0

特鲁法 - 我需要选择文本,然后更改所选文本的背景(黄色或其他内容,即突出显示它)。移动Safari中的问题是,一旦我选择了文本,就会弹出一个“复制”按钮。我可以从功能上禁用“复制”功能,即实际上不复制任何东西,但是我无法阻止该按钮弹出来。 – RTores 2013-02-11 16:24:20

回答

20

如果您希望禁用通过按住 向下iPhone或iPad中的Safari浏览器的元素上调用“剪切/复制/粘贴”使用的CSS:

-webkit-user-select: none; 

从信息Disabling ‘hold to copy’ on Mobile Safari,发布由Ben科利尔


的-webkit抽头高亮-color属性交流检查任何标准的CSS 颜色值,但您可能想要提供 中的rgba值以控制alpha透明度。禁用自来水亮点 是阿尔法值设置为0,像这样简单:

Quick Tip: Customizing the Mobile Safari tap highlight color
container { 
    -webkit-tap-highlight-color: rgba(0,0,0,0); 
} 

信息由瑞安格罗夫


张贴所以我会用CSS没有的JavaScript。

+1

这可以防止文本选择,但不幸的是不能解决我的问题。 – RTores 2013-02-11 16:36:12

+0

再次看,我建议去用css – Comradsky 2013-02-11 18:20:55

+0

让我试试这个。谢谢,Comradsky – RTores 2013-02-12 01:48:32

0

除了已接受的答案;

只给载体div或body元素提供属性,持有一些对象(图像和SVG元素等)仍然会提示工具提示。

* { 
-webkit-user-select: none; 
-webkit-tap-highlight-color: rgba(0,0,0,0); 
} 

将属性赋予所有元素(*)对我来说确实有窍门。


另外我猜用户选择有一个问题/错误与文本输入,所以你可能想排除它。

input { 
-webkit-user-select: auto; 
}