2010-05-28 7 views
5

Me pregunto cómo esos arrastrar y soltar widgets cancelar la selección de texto en el elemento de arrastre y otros elementos en la página. Probé el siguiente código que funciona en IE8 (no puede seleccionar texto) pero no funciona (aún puede seleccionar texto) en Firefox.cómo evitar la selección de texto al arrastrar el mouse en Firefox?

<!DOCTYPE html> 
<html> 
<body> 
    <p>Hello World</p> 
    <script type="text/javascript"> 
    document.onmousemove = function() { 
     return false; 
    } 
    </script> 
</body> 
</html> 
+0

Ver: http://stackoverflow.com/questions/69430/is-there-a-way-to-make-text-unselectable-on-an-html-page – CMS

Respuesta

8

O, análogo a la solución de IE8 para Moz:

document.body.style.MozUserSelect="none" 
3

Hubo un caso en el que tenía una barra de desplazamiento horizontal y texto en la página que se estaba seleccionada al arrastrar la barra de desplazamiento. Usé jQuery para agregar una clase "no seleccionable" al cuerpo cuando se disparó mi función de inicio de desplazamiento, y eliminé la clase cuando se ejecutó mi función de parada de desplazamiento. De esta manera:

function startDrag(event){ 
    $('body').addClass('unselectable'); 

    // start drag code 
} 

function stopDrag(event){ 
    $('body').removeClass('unselectable'); 

    // stop drag code 
} 

Y así es como se veía la clase no seleccionable en mi documento CSS.

.unselectable { 
    -webkit-touch-callout: none; 
    -webkit-user-select: none; 
    -khtml-user-select: none; 
    -moz-user-select: none; 
    -ms-user-select: none; 
    user-select: none; 
} 
Cuestiones relacionadas