在我的表单上,我阻止用户通过单击文本元素中的 Enter 来提交表单,但是,我希望允许他们在按钮元素具有焦点时使用 Enter 键来提交表单。目前,它仅适用于空格键。我尝试过以下方法:
$("#dyn-gen-form").on("keypress", "#genAttFormBtn", function(e) {
e.preventDefault();
log("pressed a key");
var k = e.keyCode || e.which;
if (k == 13) {
// do the work
return false;
}
});
但是它不起作用。所谓不起作用,我的意思是,事件没有被触发。我什么也没得到。
最佳答案
我给你做了一个样本:http://jsfiddle.net/p7vzJ/54/ - 按钮检测空格键以及输入键; jsfiddle加载后请按空格或回车。
如果您不想使用.live,我可以删除我的帖子
请告诉我。
JQuery 代码
$(document).ready(function() {
$("#genAttFormBtn").focus();
$("#dyn-gen-form").live("keydown", "#genAttFormBtn", function(e) {
e.preventDefault();
//log("pressed a key");
if(e.keyCode == 32) {
alert('whitespace');
$("#previous").click();
} else if(e.keyCode == 13) {
alert('enter');
}
});
});
干杯!
关于jQuery 并在按钮元素上使用 Enter 键代替/以及空格键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9817876/