Saltar al contenido

¿Desencadenar un evento keypress / keydown / keyup en JS / jQuery?

Solución:

Puede desencadenar cualquiera de los eventos con una llamada directa a ellos, así:

$(function() {
    $('item').keydown();
    $('item').keypress();
    $('item').keyup();
    $('item').blur();
});

¿Eso hace lo que estás tratando de hacer?

Probablemente también debería activar .focus() y potencialmente .change()

Si desea activar los eventos clave con claves específicas, puede hacerlo así:

$(function() {
    var e = $.Event('keypress');
    e.which = 65; // Character 'A'
    $('item').trigger(e);
});

Hay una discusión interesante sobre los eventos de pulsación de teclas aquí: Evento jQuery Pulsación de tecla: ¿Qué tecla se presionó ?, específicamente con respecto a la compatibilidad entre navegadores con la propiedad .which.

Podrías enviar eventos como

el.dispatchEvent(new Event('focus'));
el.dispatchEvent(new KeyboardEvent('keypress',{'key':'a'}));

Para desencadenar un ingresar pulsando tecla, tuve que modificar la respuesta de @ebynum, específicamente, usando la propiedad keyCode.

e = $.Event('keyup');
e.keyCode= 13; // enter
$('input').trigger(e);
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *