2013-02-11 10 views
6

In Safari per iPad in iOS6, desidero selezionare il testo e quindi evidenziarlo (cambiando il colore di sfondo) utilizzando JavaScript. Tuttavia, quando seleziono il testo, viene automaticamente visualizzata l'opzione "Copia". Come faccio a disattivare questa opzione "Copia"? Sono in grado di farlo funzionare su tutti gli altri browser, ad eccezione di Safari iPad.Disattivazione della funzionalità "Copia" nel browser Safari iPad

È possibile? Cosa dovrei fare?

+0

possibile duplicato di [selezione del testo disabilitazione di elemento HTML] (http://stackoverflow.com/questions/6889960/disable-text-selection-of-html-element) – Trufa

+0

penso che è quello che ti serve , per favore dimmi se al contrario. – Trufa

+0

Trufa - Devo selezionare il testo e quindi cambiare lo sfondo del testo selezionato (in giallo o qualcosa del genere, ad esempio evidenziarlo). Il problema in Safari Safari è che un pulsante "Copia" appare una volta che seleziono il testo. Sono in grado di disattivare la funzione "Copia" dal funzionamento, cioè in realtà non copiare nulla, ma non sono in grado di impedire che il pulsante si verifichi in primo piano – RTores

risposta

20

Se si desidera disattivare il 'Taglia/Copia/Incolla' invocata tenendo giù su un elemento in Safari su iPhone o iPad utilizzare il css:

-webkit-user-select: none; 

informazioni dalla Disabling ‘hold to copy’ on Mobile Safari, pubblicato da Ben Collier


il -webkit-tap-highlight color proprietà ac ogni valore di colore standard CSS , ma probabilmente si vorrà fornire un valore rgba nell'ordine per controllare la trasparenza alfa. La disattivazione del rubinetto clou è semplice come impostare il valore alfa a 0, in questo modo:

container { 
    -webkit-tap-highlight-color: rgba(0,0,0,0); 
} 

Info dal Quick Tip: Customizing the Mobile Safari tap highlight color inserito da Ryan Grove


Quindi mi sento di usare i CSS non Javascript.

+1

Ciò impedisce la selezione del testo, ma purtroppo non risolve il mio problema. – RTores

+0

guarda ancora, suggerisco di andare con css – Comradsky

+0

Fammi provare questo. Grazie, Comradsky – RTores

0

Aggiunta alla risposta accettata;

Assegnare la proprietà menzionata solo a un carrier div o all'elemento body, mantenendo su alcuni oggetti (immagini e elementi SVG ecc.) Viene ancora visualizzato il suggerimento.

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

Dare le proprietà a tutti gli elementi (*) ha fatto il trucco per me.


Inoltre, suppongo che l'utente-seleziona abbia un problema/bug con l'immissione del testo, quindi potresti volerlo escludere.

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