按下回车键时运行Jquery方法

4

我想在按下回车键时运行一个方法。这个方法已经被一个按钮使用了。基本上,当用户填写文本字段并单击提交按钮时,他们会得到一个灯箱。我想做的是在按下回车键时运行相同的操作。我尝试使用.keypress,但我只能找到form标签是标准html form标签而不是asp.net form标签的示例。我认为目前表单仅响应页面上的.net控件,我无法通过jquery方法覆盖它。有什么想法吗?

4个回答

5
您可以将keypress事件绑定到文档上,并在按钮上调用trigger()处理程序。
$(document).bind('keypress', function(e){
   if(e.which === 13) { // return
      $('#buttonid').trigger('click');
   }
});

每当您在网站上按下回车键时,此操作都会触发。如果有人在您的输入表单中使用return,则可能只希望在这种情况下发生。您只需要将selectordocument更改为匹配您的控件的任何类型的选择器。

参考:.trigger()


当,安迪,我感觉一直在和你比赛。你什么时候睡觉?=) - mkoistinen
@mkoistinen:我从未听说过这个,“sleep”是什么?请告诉我更多信息吧 :p - jAndy

1
$(".input_loginform").keypress(function(e){
    if (e.which == 13){
        e.preventDefault();
        alert("User pressed 'Enter' in a text input. sender form #"+this.form.id);
        postlogin("#"+this.form.id);
    }
});

1
$(document).keydown(function(e) {
   // test for the enter key
   if (e.keyCode == 13) {
      // Do your function
      myFunction();
   }
});

0

var ENTER_KEY = 13;
var user_key;
$(document).on('keydown', function(e){
  user_key = e.keyCode || e.which
   if(user_key === ENTER_KEY) { 
      document.querySelector("#button").click();
   }
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<button id="button" onclick="console.log('button pressed')">button</button>


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接