¿Como hacer eso?
Lo intenté:
var key = event.which || event.keyCode || event.charCode;
if(key == 8) alert('backspace');
pero no funciona ...
Si hago lo mismo en el evento de pulsación de tecla, funciona, pero no quiero usar la pulsación de tecla porque genera el carácter escrito en mi campo de entrada. Necesito poder controlar eso
mi código:
$('#content').bind('input', function(event){
var text = $(this).val(),
key = event.which || event.keyCode || event.charCode;
if(key == 8){
// here I want to ignore backspace and del
}
// here I'm doing my stuff
var new_text = 'bla bla'+text;
$(this).val(new_text);
});
no se debe agregar ningún carácter en mi entrada, además de lo que estoy agregando con val () en realidad, la entrada del usuario debe ignorarse por completo, solo la acción de presionar la tecla es importante para mí
javascript
jquery
Alex
fuente
fuente
.bind
, no como selector. Debería ser$('content').bind('keypress', ...
Respuestas:
Utilice
.onkeydown
y cancele la eliminación conreturn false;
. Me gusta esto:O con jQuery, porque agregó una etiqueta jQuery a su pregunta:
fuente
keydown
no funciona en Chrome Android, devuelve vacío al hacer clic en retroceso o delenter
ybackspace
claves eninput
eventos, y estas pulsaciones de teclas no lo alcanzanCon jQuery
La propiedad event.which normaliza event.keyCode y event.charCode. Se recomienda ver event.which para la entrada de teclas del teclado.
http://api.jquery.com/event.which/
fuente
event.key === "Retroceso"
Más reciente y mucho más limpio: uso
event.key
. ¡No más códigos numéricos arbitrarios!Documentos de Mozilla
Navegadores compatibles
fuente
¿Ha intentado usar 'onkeydown'? Este es el evento que busca.
Opera antes de que se inserte la entrada y le permite cancelar la entrada de caracteres.
fuente
event.preventDefault()
?return false;
cancelar cualquier evento cuando use jQuery.Es una vieja pregunta, pero si desea capturar un evento de retroceso en la entrada, y no presionar una tecla, presionar una tecla o presionar una tecla, ya que he notado que cualquiera de estas funciones rompe ciertas funciones que he escrito y causa retrasos incómodos con el formato de texto automatizado —Puedes atrapar un retroceso usando inputType:
fuente
keydown
conevent.key === "Backspace" or "Delete"
Más reciente y mucho más limpio: uso
event.key
. ¡No más códigos numéricos arbitrarios!Estilo moderno:
Documentos de Mozilla
Navegadores compatibles
fuente
fuente
fuente
en dispositivos Android que usan Chrome, no podemos detectar un retroceso. Puede utilizar una solución alternativa para ello:
fuente
which
ykeyCode
en 229. Debe haber una manera mejor, o una manera mejor próximamente, pero usaré básicamente esto por ahora. ..