css - should - webkit moz
¿Hay opciones de usuario para Opera 10.62 e IE9? (5)
¿ ::selection {color:currentColor;background:transparent}
utilizar ::selection {color:currentColor;background:transparent}
?
Para Firefox puedes usar ::-moz-selection
.
https://developer.mozilla.org/En/CSS/::selection
http://msdn.microsoft.com/en-us/library/ff974109(v=VS.85).aspx
http://reference.sitepoint.com/css/pseudoelement-selection
También está la propiedad no seleccionable .
He intentado aplicar user-select
de user-select
para Opera 10.62 e IE9 sin éxito. No puedo / no vincularé eventos con JavaScript que preventDefault()
, porque hay tantos lugares que se pueden establecer como no seleccionables y aún necesito retener las selecciones en varios lugares. De hecho, quiero que el comportamiento predeterminado no se pueda seleccionar para todo el documento, y para eso he establecido lo siguiente en mi hoja de estilo:
* {
-o-user-select: none;
-webkit-user-select: none;
-moz-user-select: -moz-none;
-khtml-user-select: none;
-ms-user-select: none;
user-select: none;
}
Todo funciona muy bien con Firefox 4, Chrome 7 y Safari 5. Solo IE9 y Opera 10.62 no funcionan como me gustaría. ¿Algunas ideas?
PD: estoy apuntando a navegadores modernos.
user-select no es una propiedad estándar de CSS3, por lo que no hay usuarios seleccionados o -o-usuario-select o -ms-user-select. Solía estar en la antigua especificación de interfaz de usuario, pero eso fue reemplazado por la especificación básica de interfaz de usuario. Es probable que nunca sea implementado por ninguno de los navegadores, a menos que se agregue nuevamente a la especificación.
La selección del usuario es un comportamiento en lugar de un estilo, por lo que es mejor usar JavaScript. Como Knu menciona arriba, puedes usar no seleccionables en su lugar.
Puede usar la combinación de -webkit-user-select: none;
, -moz-user-select: none;
y propiedad específica unselectable="on"
, como describí aquí:
Cómo hacer que el texto no se pueda seleccionar en la página HTML
Usando jquery:
$(''.element'').mousedown( function(e) {
e.preventDefault();
});
Pero puede que tenga que agregarlo tanto al elemento como a su contenedor.
-ms-user-select: none;
parece funcionar bien ahora (IE 10/11)