teclado - La ''pulsación de tecla'' de jQuery no funciona para algunas teclas en Chrome. ¿Cómo trabajar?
como cerrar una pestaña con el teclado pc (6)
Estoy intentando implementar la funcionalidad de pulsación de teclas que eliminará un div cuando el usuario acceda a Esc
. Esto funciona para Firefox y IE con el siguiente código:
$("body").keypress(function(e) {
alert("any key pressed");
if (e.keyCode == 27) {
alert("escape pressed");
}
});
Si presiono cualquier tecla, se muestra la primera alert
, y si presiono Escape, también se muestra la segunda alert
.
Sin embargo, esto no funciona con Chrome. La primera alert
siempre se muestra si presiono cualquiera de las teclas de letras, pero no cuando toco Escape, Tab, Space o cualquiera de los números.
¿Por qué sería esto? ¿Hay alguna manera de hacer que Chrome responda a estas pulsaciones de teclas?
Después de la segunda alerta, agregue también
e.preventDefault();
Esto evitará que se active la acción predeterminada del evento.
Más información sobre este método here
Tu código debería verse como
$("body").keypress(function(e) {
alert("any key pressed");
if (e.keyCode == 27) {
alert("escape pressed");
e.preventDefault();
}});
Intenta manejar el keydown
en keydown
lugar.
Para la tecla ESC:
$(document).keydown(function(e) {
if(e.keyCode == 27) { /* Run code */ }
}
Para las teclas de letras, como ''L'':
$(document).keypress(function(e) {
if(e.which == 108) { }
});
Funciona tanto en Chrome como en Firefox
Usando el archivo Jquery.hotkey js, puede hacer que la tecla Sortcut
$(document).bind(''keydown'', ''esc'', function(){ });
usa la tecla la pulsación de tecla no funciona con ESC en Chrome (no estoy seguro acerca de otros navegadores).
$(newTag).keydown(function(e) { //keypress did not work with ESC;
if (event.which == ''13'') {
ProfilePage.saveNewTag(search_id, $(newTag).val());
}
else if (window.event.which){
$(newTag).remove();
}
});
presionar la tecla ''ESC''
e.which: 0
e.keyCode: 27
tecla ''ESC''
e.which: 27
e.keyCode: 27
Para caracteres no imprimibles mejor use keyup
.