How to disable the enter button from triggering the onkeyup event?
在我的asp.net解决方案中,我有一个文本输入框和一个搜索按钮。 文本输入字段上有一个onkeyup jquery事件,因此当用户按下某个键时,它会自动单击搜索按钮。 您也可以手动单击该按钮。
但我注意到的是,如果您正在键入,然后按ENTER键,它将触发on onkeyup事件。 如果按下ENTER键,如何禁用该功能,或者可能检测是否是ENTER键,然后有if语句或其他东西。
另一件事是,如果输入框中的文本有问题,我会显示一个警告消息框。 然后,如果按ENTER关闭该框,它将以某种方式触发onkeyup事件,再次显示警告框...
谢谢。
在函数中的所有操作前添加
您可以在事件上使用.which来确定按下的键的KeyCode(ENTER = 13):
1 2 3 4 5 6 7 8 | $('#input').keyup(function(event) { if(event.which == 13) { //respond to enter keypress } }); |
您还可以使用此站点轻松查找有关不同键的键入/缩小等信息。
希望这可以帮助!
由于警报关闭
如前所述,您可以添加
更好的解决方案是使用不同的事件。
而不是
当用户更改文本框的值时,将触发
只有当用户在文本框中写入内容或删除某些内容时,才会触发该事件。按下ENTER键时,或按下任何其他不改变文本框值的键(如箭头键)时,它不会熄灭。
*如果您使用
演示
希望这可以帮助。
1 2 3 4 5 6 7 8 9 | <script type="text/javascript"> function stopRKey(evt) { var evt = (evt) ? evt : ((event) ? event : null); var node = (evt.target) ? evt.target : ((evt.srcElement) ? evt.srcElement : null); if ((evt.keyCode == 13) && (node.type=="text")) {return false;} } document.onkeypress = stopRKey; |
为了将来参考,我发现了这个有用的网站
http://www.cambiaresearch.com/articles/15/javascript-char-codes-key-codes
祝好运!