2010-02-06 10 views
17

does oEvent.preventDefault(); lavoro in GC? Devo impedire la selezione del testo quando viene attivato l'evento onmove.Come posso evitare di selezionare il testo in Google Chrome?

EDIT: Si scopre essere molto facile ...

function disableSelection() { 
    document.onselectstart = function() {return false;} // ie 
    document.onmousedown = function() {return false;} // others 
} 
function enableSelection() { 
    document.onselectstart = null; // ie 
    document.onmousedown = null; // others 
} 

Dopo di che, non c'è la selezione del testo attivato sull'evento movimento (cioè sulla Seleziona evento - ad esempio - in effetti vale a dire. !)

+0

Secondo me è meglio farlo tramite questo metodo (o 'event.preventDefault()' che è equivalente ma un po 'più moderno) che cercare di sopprimere la selezione tramite gli attributi CSS che differiscono tra browser e aren' Questo è prevedibile. –

risposta

43

-webkit-user-select: none Lo stile CSS controlla se l'utente può selezionare il testo dell'elemento.

Per completezza, questa copre tutti i browser che supportano (IE non è considerato un browser Web):

.no-select 
{ 
    user-select: none; 
    -o-user-select:none; 
    -moz-user-select: none; 
    -khtml-user-select: none; 
    -webkit-user-select: none; 
} 

di farlo attraverso JavaScript, basta creare una classe e aggiungere gli attributi del nodo.

+1

Molto bello, non sapevo che potessi farlo attraverso i CSS. –

+0

Ho bisogno di farlo tramite JS. –

+9

IE non è considerato un browser Web? Com'è quello? –

19

di farlo utilizzando JavaScript:

var el = document.getElementById("myElement"), s = el.style; 
s.userSelect = "none"; 
s.webkitUserSelect = "none"; 
s.MozUserSelect = "none"; 
el.setAttribute("unselectable", "on"); // For IE and Opera 

Si noti che per IE e Opera, l'attributo unselectable non è ereditata dai figli di un elemento, in modo da tutti gli elementi figlio di el dovranno anche unselectable essere impostato su "on".

+4

+1 per come farlo in IE. – Na7coldwater

Problemi correlati