处理Chrome中的"Enter"/"Return"键

Vil*_*ger 5 javascript

我有一个AJAX-y类型的页面.当用户点击"GO"时,我需要执行特定的javascript函数.我还想在用户点击"Enter"或"Return"时模拟"GO"点击.请注意我不想"提交"页面.原因是因为我通过JavaScript做所有事情.

要处理"输入"/"返回"键,请按IE和FireFox,我使用以下代码:

$(document).ready(function () {  
  $('#root').keypress(function(e) { 
    if (e.keyCode == '13') { 
      goButton(); 
    } 
  });
});
Run Code Online (Sandbox Code Playgroud)

很遗憾,此代码无法在Chrome中使用.调用goButton()函数.但问题是页面被提交了.我究竟做错了什么?

BGe*_*sen 6

假设你有一个表格:

$('#theForm').submit(function(e){
    e.preventDefault();
    goButton();
    return false; // just to be sure.
});
Run Code Online (Sandbox Code Playgroud)

您需要阻止表单中的提交事件,当表单具有焦点并且用户按Enter键时将调用该事件.