2010-07-30 20 views
7

Sto costruendo un chiosco touchscreen che utilizzerà Google Chrome per visualizzare il contenuto. Non esiste una tastiera ad eccezione di una tastiera virtuale che verrà visualizzata per inserire le informazioni sui nomi su determinate schermate. In nessun punto del chiosco sarà necessario selezionare nulla.Disattiva selezione testo in Chrome

Quando metto il dito in un punto qualsiasi dello schermo e lo trascino in giro, i campi di selezione blu iniziano a comparire. Devo farla finita.

Inizialmente stavo usando Opera, che ha una funzione di configurazione per disabilitare la selezione del testo. Non sono riuscito a trovare l'equivalente per questo in Chrome.

Qualcuno sa se c'è una configurazione per questo in Chrome, o in alternativa ciò che Javascript eseguirà questo?

risposta

8

Non so se c'è un ambiente di configurazione in cromo per questo, ma una rapida di Google (source) girato questo in su:

window.onload = function() { 
    document.onselectstart = function() {return false;} // ie 
    document.onmousedown = function() {return false;} // mozilla 
} 


/* You can attach the events to any element. In the following example 
I'll disable selecting text in an element with the id 'content'. */ 

window.onload = function() { 
    var element = document.getElementById('content'); 
    element.onselectstart = function() { return false; } // ie 
    element.onmousedown = function() { return false; } // mozilla 
} 

PS:

appena testato per vedere se questo interferirebbe con qualsiasi evento onclick, e non lo fa.

+0

Infatti !! Se avessi un primogenito sarebbe tuo. E che risorsa fantastica su internet.com .... un indirizzo web così oscuro non mi sorprende di non averlo mai trovato ..;) –

+0

@ Ron Lol! E, grazie :) –

+0

probabilmente dovrebbe essere spuntata come risposta giusta –

14

Perché non utilizzare semplicemente CSS per rimuovere l'effetto di selezione invece di fare affidamento su Javascript?

*::selection { 
    background:transparent; 
} 

*::-moz-selection { 
    background:transparent; 
} 

*::-webkit-selection { 
    background:transparent; 
} 

/* DO NOT COMBINE... IF COMBINED, IT WILL REFUSE TO WORK */ 
/* FOR CHROME 5+ (untested in 4), ONLY ::SELECTION IS REQUIRED */ 

La selezione sarà ancora possibile, ma non ci saranno rettangoli blu. In effetti, la selezione sarà totalmente invisibile all'utente.

Per quello che posso leggere dal tuo scenario, stai solo cercando di sbarazzarti dei rettangoli di selezione.

+0

questo funziona anche e mi piacciono le soluzioni CSS ... ho appena capito che l'altro comportamento che sto tentando di uccidere è la possibilità di trascinare le immagini sulla pagina ... cercando anche una soluzione CSS per questo. –

+0

Si noti che questo non nasconde completamente tutti gli effetti. Se un utente seleziona il testo, la selezione non sarà visibile, vero. Ma se poi cercano di trascinare il dito all'interno della selezione, il testo selezionato inizierà a trascinarsi attorno al blocco come normalmente farebbe. Solo qualcosa da tenere a mente. –

Problemi correlati