2010-02-06 15 views
17

Does not oEvent.preventDefault(); trabajar en GC? Necesito evitar seleccionar texto cuando se activa el evento onmove.¿Cómo puedo evitar seleccionar texto en Google Chrome?

EDIT: Resulta ser muy fácil ...

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

Después de eso, no hay selección de texto activa en el caso de movimiento (es decir, en el caso de selección - es decir - de hecho, es decir. !)

+0

En mi opinión, es mejor hacerlo a través de este método (o 'event.preventDefault()' que es equivalente pero un poco más moderno) que tratar de suprimir la selección a través de atributos CSS que difieren entre navegador y aren ' t eso predecible –

Respuesta

43

-webkit-user-select: none El estilo CSS controla si el usuario puede seleccionar el
texto del elemento.

Para completarlo, esto cubre todos los navegadores de apoyo (IE no se considera un navegador web):

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

hacerlo a través de Javascript, basta con crear una clase y añadir atributos del nodo.

+1

Muy bien, no sabía que podrías hacer esto a través de CSS. –

+0

Necesito hacerlo a través de JS. –

+9

IE no se considera un navegador web? ¿Como es que? –

19

hacerlo utilizando 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 

Tenga en cuenta que para IE y Opera, el atributo unselectable no es heredado por los hijos de un elemento, por lo que cualquier elemento secundario de el también necesitarán unselectable se establezca en "on".

+4

+1 para saber cómo hacerlo en IE. – Na7coldwater

Cuestiones relacionadas