JQuery simulating keypress event on an input field
I have an input field which is dynamically filled with some AJAX, and once it’s filled I would like to have JavaScript to automatically press “Enter” (key event 13) on that input inducing another function, which is hidden to me, to trigger.
Would it be possible with jQuery? I have this code right now, which is not working:
$('#myInputId').focus().trigger({ type : 'keypress', which : 13 });
Do you have any clue on what am I doing wrong?
You can create an event object:
$('#myInputId').trigger(jQuery.Event('keypress', { keycode: 13 }));
Hi you could try use the change event for when the input area changes :
$('#myInputId').change(function(){
$('#myInputId').focus().trigger({ type : 'keypress', which : 13 });
});
This method worked for me.
var keyEvent = jQuery.Event("keypress");
keyEvent.keyCode = 13;
$("#myInputId").trigger(keyEvent);
On Keypress Enter
:
$(document).keypress(function(event){
var keycode = (event.keyCode ? event.keyCode : event.which);
if(keycode == '13'){
alert('You pressed a "enter" key in somewhere');
}
});
The answers/resolutions are collected from stackoverflow, are licensed under cc by-sa 2.5 , cc by-sa 3.0 and cc by-sa 4.0 .