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()
来执行点击并将其绑定到keydown
的keyup
事件上,因为click
事件实际上包含两个事件,即mousedown
然后是mouseup
。 所以要像keydown
和keyup
一样尽可能地类似。
这是一个演示
另一个补充:
如果您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