I need to execute a button click event upon pressing key enter.
As it is at the moment the event is not firing.
Please Help me with the syntax if possible.
$(document).on("click", "input[name='butAssignProd']", function () {
//all the action
});
this is my attempt to fire click event on enter.
$("#txtSearchProdAssign").keydown(function (e) {
if (e.keyCode == 13) {
$('input[name = butAssignProd]').click();
}
});
This question is related to
jquery
key-events
Try This
$('#twitterSearch').keydown(function(event){
var keyCode = (event.keyCode ? event.keyCode : event.which);
if (keyCode == 13) {
$('#startSearch').trigger('click');
}
});
Hope it helps you
This appear to be default behaviour now, so it's enough to do:
$("#press-enter").on("click", function(){alert("You `clicked' or 'Entered' me!")})
You can try it in this JSFiddle
Tested on: Chrome 56.0 and Firefox (Dev Edition) 54.0a2, both with jQuery 2.2.x and 3.x
Just include preventDefault() function in the code,
$("#txtSearchProdAssign").keydown(function (e)
{
if (e.keyCode == 13)
{
e.preventDefault();
$('input[name = butAssignProd]').click();
}
});
You can use this code
$(document).keypress(function(event){
var keycode = (event.keyCode ? event.keyCode : event.which);
if(keycode == '13'){
alert('You pressed a ENTER key.');
}
});
Another addition to make:
If you're dynamically adding an input, for example using append()
, you must use the jQuery on()
function.
$('#parent').on('keydown', '#input', function (e) {
var key = e.which;
if(key == 13) {
alert("enter");
$('#button').click();
return false;
}
});
UPDATE:
An even more efficient way of doing this would be to use a switch statement. You may find it cleaner, too.
Markup:
<div class="my-form">
<input id="my-input" type="text">
</div>
jQuery:
$('.my-form').on('keydown', '#my-input', function (e) {
var key = e.which;
switch (key) {
case 13: // enter
alert('Enter key pressed.');
break;
default:
break;
}
});
Jquery: Fire Button click event Using enter Button Press try this::
tabindex="0" onkeypress="return EnterEvent(event)"
<!--Enter Event Script-->
<script type="text/javascript">
function EnterEvent(e) {
if (e.keyCode == 13) {
__doPostBack('<%=btnSave.UniqueID%>', "");
}
}
</script>
<!--Enter Event Script-->
Try This
<button class="click_on_enterkey" type="button" onclick="return false;">
<script>
$('.click_on_enterkey').on('keyup',function(event){
if(event.keyCode == 13){
$(this).click();
}
});
<script>
$('#txtSearchProdAssign').keypress(function (e) {
if (e.which == 13) {
$('input[name = butAssignProd]').click();
return false;
}
});
I also just found Submitting a form on 'Enter' which covers most of the issues comprehensively.
Are you trying to mimic a click on a button when the enter key is pressed? If so you may need to use the trigger
syntax.
Try changing
$('input[name = butAssignProd]').click();
to
$('input[name = butAssignProd]').trigger("click");
If this isn't the problem then try taking a second look at your key capture syntax by looking at the solutions in this post: jQuery Event Keypress: Which key was pressed?
$('#Search').keyup(function(e)_x000D_
{_x000D_
if (event.keyCode === 13) {_x000D_
e.preventDefault();_x000D_
var searchtext = $('#Search').val();_x000D_
window.location.href = "searchData.php?Search=" + searchtext + '&bit=1';_x000D_
}_x000D_
});
_x000D_
You were almost there. Here is what you can try though.
$(function(){
$("#txtSearchProdAssign").keyup(function (e) {
if (e.which == 13) {
$('input[name="butAssignProd"]').trigger('click');
}
});
});
I have used trigger()
to execute click and bind it on the keyup
event insted of keydown
because click
event comprises of two events actually i.e. mousedown
then mouseup
. So to resemble things same as possible with keydown
and keyup
.
Here is a Demo
Source: Stackoverflow.com