¿Cuál es la mejor manera de simular al usuario presionando "enter"? $ (elemento) .keypress () no me permite pasar la tecla real que se presionó.
Esto es para pruebas de unidad.
var e = jQuery.Event("keypress");
e.which = 13; //choose the one you want
e.keyCode = 13;
$("#theInputToTest").trigger(e);
Para aquellos que quieren hacer esto en javascript puro, mire:
Desactualizado :
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);
Actualizado :
Como Joe lo comentó, KeyboardEvent ahora es el estándar.
Mismo ejemplo para disparar un enter (keyCode 13):
const ke = new KeyboardEvent("keydown", {
bubbles: true, cancelable: true, keyCode: 13
});
document.body.dispatchEvent(ke);
Puede usar esta página ayudarlo a encontrar el evento de teclado correcto.