2013-02-11 245 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; 
}