habilitar - disable control jquery
¿Cómo puedo desactivar Ctrl+A(seleccionar todo) usando jquery en un navegador? (5)
Es fácil con css:
body {
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
-user-select: none;
}
Espero que ayude
Estoy tratando de evitar que la información se copie de una página (por supuesto, para usuarios no técnicos). Sé cómo deshabilitar la selección de texto con el ratón. Funciona el siguiente código jQuery:
$(function(){
$.extend($.fn.disableTextSelect = function() {
return this.each(function(){
if($.browser.mozilla){//Firefox
$(this).css(''MozUserSelect'',''none'');
}else if($.browser.msie){//IE
$(this).bind(''selectstart'',function(){return false;});
}else{//Opera, etc.
$(this).mousedown(function(){return false;});
});
});
$(''.noSelect'').disableTextSelect();
});
Pero los usuarios todavía pueden usar Ctrl + A para seleccionar toda la página. ¿Alguna solución para esto?
Funciona para Windows (Ctrl + A) + MacOS (CMD + A) y usa preventDefault()
lugar de return false
:
$(function(){
$(document).keydown(function(e) {
if ((e.ctrlKey || e.metaKey) && e.keyCode == 65) {
e.preventDefault();
}
});
});
Honestamente, algunos clientes no entienden cómo funciona Internet, por lo que debe hacer su parte para explicarles que todo lo que se muestra al usuario se puede guardar fácilmente, independientemente de lo que haga.
En el mejor de los casos, puede deshabilitar ciertas cosas, lo que dificulta que los usuarios más simples copien texto.
Si no haces esto, alguien va a encontrar la manera de superar cualquier brecha que hayas colocado y volverán a ti diciendo "hey, pensé que te dije que cerraras esto".
La respuesta aceptada ya no funciona, porque disableTextSelect()
está en desuso desde jQuery 1.9, y luego se eliminó y ahora no es compatible.
Tienes que usar objEvent.PreventDefault();
- Esto está funcionando en el nuevo jQuery y también en los navegadores más nuevos:
$(function() {
$(document).keydown(function(objEvent) {
if (objEvent.ctrlKey) {
if (objEvent.keyCode == 65) {
objEvent.preventDefault();
}
}
});
});
este código funciona para cada combinación de ctrl + clave que desee 65 es el código ASCII de ''A''
Agrega 97 si quieres verificar también ''a''
$(function(){
$(document).keydown(function(objEvent) {
if (objEvent.ctrlKey) {
if (objEvent.keyCode == 65) {
objEvent.disableTextSelect();
return false;
}
}
});
});
En caso de funcionar, lo escribí directamente sin probar.