Tengo una tabla, y les permito a los usuarios 'seleccionar' varias filas. Todo esto se maneja usando eventos jQuery y algunos CSS para indicar visualmente que la fila está 'seleccionada'. Cuando el usuario presiona shift, es posible seleccionar varias filas. A veces, esto hace que el texto se resalte. ¿Hay alguna forma de prevenir esto?Prevenir lo más destacado de la tabla de texto
Respuesta
Hay una propiedad de CSS3 para eso.
#yourTable {
-webkit-touch-callout: none;
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
Lástima que a Internet Explorer no le importe. Probado en 6-8. –
@NathanTaylor Después de buscar en Google, encontrará un duplicado donde esto ya está resuelto: http://stackoverflow.com/questions/826782/css-rule-to-disable-text-selection-highlighting – Dan
'Validation (CSS 3.0):" moz-none "no es un valor válido para la propiedad" -moz-user-select ". Y, de hecho, esto no funcionó para Firefox hasta que cambié' moz-none' a 'none'. – Nolonar
Puede probar con la función de enfoque() en el texto seleccionado - la selección desaparece.
$('#someEl').focus();
Si usted quiere tener el control cuando los usuarios pueden seleccionar o no partes de su sitio, se puede utilizar este little jQuery plugin.
jQuery.fn.extend({
disableSelection : function() {
return this.each(function() {
this.onselectstart = function() { return false; };
this.unselectable = "on";
jQuery(this).css('user-select', 'none');
jQuery(this).css('-o-user-select', 'none');
jQuery(this).css('-moz-user-select', 'none');
jQuery(this).css('-khtml-user-select', 'none');
jQuery(this).css('-webkit-user-select', 'none');
});
}
});
y utilizarlo como:
// disable selection on #theDiv object
$('#theDiv').disableSelection();
De lo contrario, sólo puede utilizar estos atributos de CSS dentro de su archivo css como:
#theDiv
{
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
Simplemente elimino la selección que se realiza con la tecla Mayús. Esto podría mostrar un poco de parpadeo aunque
if (event.shiftKey) {
window.getSelection().removeAllRanges()
}
Sólo una nota en la respuesta de Cleiton arriba - el ejemplo de código parece funcionar bien, pero con el fin de ser un buen ciudadano en el mundo jQuery, debe devolver el jQuery objeto al final de la función para que sea chainable - una simple adición de una línea fija que hasta:
jQuery.fn.extend({
disableSelection : function() {
this.each(function() {
this.onselectstart = function() { return false; };
this.unselectable = "on";
jQuery(this).css('-moz-user-select', 'none');
});
return this;
}
});
Saludos, espero que esto es útil.
Hace esto con "return this.each (function() {..." – frontendbeauty
Si tiene jQuery UI en sus páginas, sólo tiene que utilizar
$("element-selector").disableSelection();
Esto no está documentado, pero debería funcionar si tiene jQuery UI core –
Lo bueno de esta solución es que también es aplicable a IE y replica la funcionalidad de soluciones ya mencionadas si mira el código. – sksallaj
Tenga en cuenta que disableSelection() está en desuso en jQuery UI 1.9 – mar10
::-moz-selection { /* Code for Firefox */
color: black;
background: none;
}
::selection {
color: black;
background: none;
}
de http://www.w3schools.com/cssref/sel_selection.asp
en realidad de la sección de try-que, después de cambiar los valores.
note que el cursor todavía tiene forma de 'I' ...
Nota: El pseudo-elemento :: selection se redactó para el nivel 3 de selectores de CSS, pero se eliminó antes del estado de recomendación. el momento, el pseudo-elemento :: selection no está en ninguna especificación. (Sin embargo, puede volverse a agregar a futuras especificaciones CSS). – luk2302
- 1. Lo más destacado de clickablespan haga clic en
- 2. búsqueda vim y reemplazar limitada a lo más destacado en el modo de bloque visual
- 3. Celdas de tabla más grandes de lo que deberían ser
- 4. Destacado de sintaxis incrustado en Vim
- 5. ¿Prevenir la autocompletación de texto en WPF ComboBox?
- 6. iPhone UIButton destacado
- 7. ¿Por qué el tamaño de la tabla InnoDB es mucho más grande de lo esperado?
- 8. String.Trim() elimina más de lo necesario?
- 9. HTML prevenir salto de línea (entre dos etiquetas de tabla)
- 10. ¿Prevenir la virtualización de UAC?
- 11. Emacs auctex sintaxis personalizada destacado
- 12. Android destacado elemento ListView mediante programación
- 13. Prevenir el parpadeo del cursor en el cuadro de texto
- 14. Prevenir un cuadro de texto de la expansión horizontal en WPF
- 15. Mysqldump más de una tabla?
- 16. proyector de látex: prevenir que muestra la tabla de contenido en una ocasión
- 17. Ivy descargar más jarras de lo esperado
- 18. Convertir la tabla HTML en texto
- 19. Thread.sleep espera más de lo esperado
- 20. fork() ramas más de lo esperado?
- 21. Python, más allá de lo básico
- 22. Selección de toda la tabla/texto para copiar al portapapeles
- 23. lo hace la creación de funciones consumen más memoria
- 24. La manera más rápida de escribir datos mientras lo produce
- 25. cancelPreviousPerformRequestsWithTarget no cancela un destacado performSelector: withDelay
- 26. Prevenir el comportamiento predeterminado en la entrada de texto mientras se presiona la flecha hacia arriba
- 27. Envío de un iMessage lo más simple posible iOS
- 28. Prevenir HttpClient 4 de la siguiente redirección
- 29. Emacs 24 función CEDET incorporado destacado
- 30. Cómo deshabilitar destacado en una imagen
posible duplicado de [regla CSS para desactivar el resaltado de selección de texto] (http://stackoverflow.com/questions/826782/css-rule-to- disable-text-selection-highlighting) – Dan