2009-09-08 8 views
6

Necesito evitar que los usuarios seleccionen elementos en la interfaz de usuario de mi aplicación web, excepto para texto en campos de entrada y áreas de texto. Para Firefox, la técnica parece ser la de utilizar este CSS:campos de entrada seleccionables y áreas de texto pero ningún otro contenido seleccionable en Firefox?

* { -moz-user-select: none; } 

Y que funciona bastante bien (probado Firefox 3.5.2), excepto que después no se puede seleccionar dentro de los campos de entrada o áreas de texto.

me trataron dividiéndolo en

div,td,span,img { -moz-user-select: none; } 
input,textarea { -moz-user-select: text; } 

Sin embargo, si el campo de entrada se encuentra dentro de un div, td, o el intervalo, no es seleccionable. Parece que la propiedad -moz-user-select también se aplica a todos los niños, sin importar si esos niños anulan la configuración. ¿Alguien sabe una forma de evitar esto, además de establecer esto en un nivel mucho más granular (y molesto) para elementos específicos?

NOTA esto no es por razones de seguridad. Estoy bien que los usuarios vean a los usuarios originales o avanzados desactivándolo. Pero para la interfaz de usuario web con funcionalidad de arrastrar y soltar, o simplemente aquellos que se supone que se comportan como una aplicación en general en lugar de como un documento, es realmente extraño poder seleccionar texto accidentalmente. Y sucede a menudo para la mayoría de los usuarios.

Respuesta

12
* { -moz-user-select: -moz-none; } 
input,textarea { -moz-user-select: text; } 
+0

gracias, funcionó !!!! – TheBrain

+0

no funciona para mí ... – jlarson

+2

ah mierda, me acabo de dar cuenta de que tenía "ninguno", no "-moz-ninguno". ¡Premiando la recompensa que acabo de asignar tan pronto como me sea permitido! – jlarson

1

Estás luchando por una causa perdida. Si realmente quiero seleccionar texto de tu página, o obtenerlo de alguna manera, lo haré.

Sin embargo, a su pregunta. Trate de añadir importante para el final, por lo que se ve así:

div,td,span,img { -moz-user-select: none; } 
input,textarea { -moz-user-select: text !important; } 
+2

No es por razones de seguridad y no me importa si el usuario ve la fuente o nada. Es porque, por alguna razón, la gente sigue seleccionando accidentalmente cosas y es tonto porque es una aplicación y, en general, seleccionar elementos ui ("botones" formados por elementos compuestos html, por ejemplo) se siente torpe ... – jlarson

+0

..oh, y más ¡importante,! importante no pareció ayudar, lo intenté, debería haberlo mencionado! gracias aunque – jlarson

Cuestiones relacionadas