首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >jQuery -当输入字段被聚焦时,带有enter键的目标按钮

jQuery -当输入字段被聚焦时,带有enter键的目标按钮
EN

Stack Overflow用户
提问于 2011-10-29 14:54:27
回答 4查看 43.3K关注 0票数 27

我有一个输入字段和一个登录按钮。我想要允许用户在输入字段被聚焦时点击"enter“键来点击按钮。我该如何在jQuery中做到这一点呢?

代码语言:javascript
复制
<input type="text" size="10" id="loginUserID" name="username">
<input type="button" value="Login" name="loginBtn" id="loginBtn">
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-10-29 15:00:18

代码语言:javascript
复制
$('#loginUserID').keypress(function(event){
  if(event.keyCode == 13){
    $('#loginBtn').click();
  }
});

演示:http://jsfiddle.net/Bhf5a/

票数 53
EN

Stack Overflow用户

发布于 2011-10-29 15:02:18

如果它们在相同的表单中,并且您将按钮更改为type="submit",您会发现它会自动发生,但不管怎样…

代码语言:javascript
复制
$(document).ready(function() {

   $('#loginUserID').keypress(function(e){
      if(e.which === 13)
         $('#loginBtn').click();
   });

});

(或者您可能更喜欢.keyup.keydown。)

票数 7
EN

Stack Overflow用户

发布于 2016-12-04 03:42:09

公认的答案和大多数其他答案都认为click()操作可能会通过提交表单并切换到另一个页面来结束事件处理,或者表单上没有提交,因此它们省略了停止事件链,但情况可能并非如此。

在目标按钮上调用click()之前,不要忘记调用e.preventDefault()。否则,除了单击之外,表单上的第一个按钮仍然会在回车时触发!

代码语言:javascript
复制
$('#loginUserID').keypress(function(event) {
    if(event.keyCode == 13) {
        e.preventDefault(); // Stop the default behaviour
        $('#loginBtn').click();
    }
});
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7937441

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档