jQuery和在按钮元素上使用Enter键代替/以及空格键

时间:2012-03-22 07:11:51

标签: jquery

在我的表单上,我阻止用户通过单击文本元素中的输入来提交表单但是,我想允许他们在按钮元素具有焦点时使用回车键提交表单。目前,它仅适用于空格键。我尝试了以下内容:

$("#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;
  }
});

但它不起作用。通过不工作,我的意思是,事件不会被触发。我一无所获。

1 个答案:

答案 0 :(得分:1)

我为你做了一个样本: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');
    }
});

});​

喝彩!