如何防止在 jQuery 中提交 Enter 键? [复制]

Posted

技术标签:

【中文标题】如何防止在 jQuery 中提交 Enter 键? [复制]【英文标题】:How Do I Prevent Enter Key Submit in jQuery? [duplicate] 【发布时间】:2010-12-23 07:18:13 【问题描述】:

我想在<input> 字段中简单地按下 Enter 键,或者替代 Tab 键。我还没有决定哪个是最好的。

如何在 jQuery 中做到这一点?到目前为止我已经得到了这个:

$(document).ready(function()
    ...
    //handle enter key
    $("input").keypress(function (e) 
        var k = e.keyCode || e.which;
        if (k == 13) 
            //???
        
    );
);

e.keyCode || e.which 部分在this question 中被推荐。)

我可以放什么来 (a) 取消事件或 (b) 强制按下 Tab 键?

【问题讨论】:

【参考方案1】:

使用 e.preventDefault() 您可以阻止默认操作,在这种情况下是提交表单。

【讨论】:

【参考方案2】:

return false;:

$(document).ready(function()
  ...
  //handle enter key
  $("input").keypress(function (e) 
      var k = e.keyCode || e.which;
      if (k == 13) 
          return false; // !!!
      
  );
);

【讨论】:

【参考方案3】:

另外,如果您只想模仿下一个控件的选项卡,正如您所提到的,您可以尝试this method by jdsharp。

$(document).ready(function()
...
//handle enter key
$("input").keypress(function (e) 
    var k = e.keyCode || e.which;
        if (k == 13) 
            $(this).focusNextInputField();
        
    );
);

【讨论】:

以上是关于如何防止在 jQuery 中提交 Enter 键? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

js防止回车(enter)键提交表单及javascript中event.keycode

JavaScript 通过劫持Enter键防止提前表单提交

除了提交按钮之外,还使用 ​​Enter 键提交 JQuery 表单

防止表单提交字段输入键keydown? [复制]

jQuery:防止输入键[重复]

通过在 struts-dojo 自动完成上按 enter 键来防止表单提交