jquery (o js puro) simula la tecla Intro presionada para realizar pruebas
¿Cuál es la mejor manera de simular que el usuario presiona "enter"? $(element).keypress() no parece permitirme pasar la tecla real que se presionó.
Esto es para pruebas unitarias.
Aceptado
Demostración aquí
var e = jQuery.Event("keypress");
e.which = 13; //choose the one you want
e.keyCode = 13;
$("#theInputToTest").trigger(e);
Para aquellos que quieran hacer esto en javascript puro, miren:
Usando KeyboardEvent estándar
Como comenta Joe, KeyboardEvent es ahora el estándar.
Mismo ejemplo para disparar una entrada (código de clave 13):
const ke = new KeyboardEvent('keydown', {
bubbles: true, cancelable: true, keyCode: 13
});
document.body.dispatchEvent(ke);
Puede utilizar esta página para ayudarle a encontrar el evento de teclado correcto.
Respuesta obsoleta :
- initKeyboardEvent para IE9+, Chrome y Safari
- initKeyEvent para Firefox
Puedes hacer algo como (aquí para Firefox)
var ev = document.createEvent('KeyboardEvent');
// Send key '13' (= enter)
ev.initKeyEvent(
'keydown', true, true, window, false, false, false, false, 13, 0);
document.body.dispatchEvent(ev);