javascript - retroceso - Usando jQuery ''on()'' para ver la tecla enter presione
presionar teclas javascript (3)
Quiero detectar cuando se presiona la tecla Intro, en HTML que se inyectará después de que se cargue js.
Para detectar simplemente cuándo se presiona la tecla Intro, puedo:
$(''#textfield'').keydown(function (e){
if(e.keyCode == 13){
console.log(''Enter was pressed'');
}
})
Este código funciona para on (), pero me preocupa que no sea eficiente ya que jQuery lo comprobará cada vez que se presione una tecla. ¿Hay algo ineficiente sobre esto?
$(''body'').on(''keydown'',''#textfield'', function(event) {
if (event.keyCode == 13) {
console.log(''Enter was pressed'');
}
}
Aún puedes usar .on ()
$(document).off(''keyup#textfield'');
$(document).on(''keyup#textfield'', function(event) {
if (event.keyCode == 13) {
console.log(''Enter was pressed'');
}
});
En términos prácticos, nada de lo que deba preocuparse. El navegador ya va a estar burbujeando ese evento, y aunque puede quedar atrapado por el body
y ejecutar un selector del evento delegado, esto no es una verificación práctica profunda o difícil para JQuery, especialmente con un ID-only selector.
Si desea capturar la pulsación de tecla en cualquier lugar de la página,
$(document).keypress(function(e) {
if(e.which == 13) {
// enter pressed
}
});
No se preocupe por el hecho de que esto comprueba cada pulsación de tecla, realmente no está cargando significativamente el navegador.