jquery:如何按下回车键触发点击事件

按下Enter键后,我需要执行button点击事件。

目前事件并未发生。

如果可能,请帮助我的语法。

$(document).on("click", "input[name='butAssignProd']", function () { //all the action }); 

这是我尝试点击进入点击事件。

 $("#txtSearchProdAssign").keydown(function (e) { if (e.keyCode == 13) { $('input[name = butAssignProd]').click(); } }); 

试试这个….

 $('#txtSearchProdAssign').keypress(function (e) { var key = e.which; if(key == 13) // the enter key code { $('input[name = butAssignProd]').click(); return false; } }); 
 $(function() { $('input[name="butAssignProd"]').click(function() { alert('Hello...!'); }); //press enter on text area.. $('#txtSearchProdAssign').keypress(function(e) { var key = e.which; if (key == 13) // the enter key code { $('input[name = butAssignProd]').click(); return false; } }); }); 
 <!DOCTYPE html> <html> <head> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8/jquery.min.js"></script> <meta charset=utf-8 /> <title>JS Bin</title> </head> <body> <textarea id="txtSearchProdAssign"></textarea> <input type="text" name="butAssignProd" placeholder="click here"> </body> </html> 

尝试这个

 $('#twitterSearch').keydown(function(event){ var keyCode = (event.keyCode ? event.keyCode : event.which); if (keyCode == 13) { $('#startSearch').trigger('click'); } }); 

希望它可以帮助你

 $('#txtSearchProdAssign').keypress(function (e) { if (e.which == 13) { $('input[name = butAssignProd]').click(); return false; } }); 

我也刚刚发现提交一个表格“回车” ,其中涵盖了大部分的问题全面。

你是否试图按下回车键来模仿点击button? 如果是这样,您可能需要使用trigger语法。

尝试改变

 $('input[name = butAssignProd]').click(); 

 $('input[name = butAssignProd]').trigger("click"); 

如果这不是问题,那么通过查看本文中的解决scheme,再次尝试一下关键捕获语法: jQuery Event Keypress:哪个键被按下?

你几乎在那里。 这是你可以尝试的。

 $(function(){ $("#txtSearchProdAssign").keyup(function (e) { if (e.which == 13) { $('input[name="butAssignProd"]').trigger('click'); } }); }); 

我已经使用trigger()来执行点击并将其绑定到keydownkeyup事件上,因为click事件实际上包含两个事件,即mousedown然后是mouseup 。 所以要像keydownkeyup一样尽可能地类似。

这是一个演示

另一个补充:

如果您dynamic添加input,例如使用append() ,则必须使用jQuery on()函数。

 $('#parent').on('keydown', '#input', function (e) { var key = e.which; if(key == 13) { alert("enter"); $('#button').click(); return false; } }); 

更新:

更有效的方法是使用switch语句。 你也可能觉得它更干净。

标记:

 <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; } }); 

只要在代码中包含preventDefault()函数,

  $("#txtSearchProdAssign").keydown(function (e) { if (e.keyCode == 13) { e.preventDefault(); $('input[name = butAssignProd]').click(); } }); 

尝试这个

 <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> 

这似乎是现在的默认行为,所以这足以做到:

 $("#press-enter").on("click", function(){alert("You `clicked' or 'Entered' me!")}) 

你可以在这个JSFiddle中尝试

testing:Chrome 56.0和Firefox(开发版)54.0a2,都使用jQuery 2.2.x和3.x

Interesting Posts