我试图在回车键被按下时运行一个方法。这个方法已经被一个按钮使用了。基本上,当用户填写一个文本字段并点击提交按钮时,他们得到一个灯箱。我想做的是运行同样的操作,但是是在回车键被按下的时候。我研究过使用.keypress,但我只能找到表单标签是标准html表单标签而不是asp.net表单标签的例子。我想目前表单只对页面上的.net控件做出响应,而我不能用jquery方法覆盖它。有什么好办法吗?
你可以绑定一个 keypress
事件到文件和 trigger()
按钮的处理程序。
$(document).bind('keypress', function(e){
if(e.which === 13) { // return
$('#buttonid').trigger('click');
}
});
每当你在你的网站上按下回车键时,这个处理程序就会启动。您可能希望只有当有人使用了 return
在您的输入表单中。您只需要在您的输入表单中更改 selector
从 document
到任何一种与您的控件相匹配的选择器。
参考: .trigger()
$(document).keydown(function(e) {
// test for the enter key
if (e.keyCode == 13) {
// Do your function
myFunction();
}
});
$(".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);
}
});
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>