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

标签 jquery

在我的表单上,我阻止用户通过单击文本元素中的 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/

相关文章:

jquery - 在 Galleria 全屏主题中禁用右键单击

javascript - 如何删除表中的td

javascript - 如何在同一元素上的 'click' 和 'double click' 上调用单独的函数

javascript - 视网膜图像文件的 anchor 链接( anchor 标记的 srcset)

jquery - 在 jquery 1.9.1 中创建变量失败,在 1.8.3 中则不会

jquery - 我正在尝试修复的移动导航问题(JS 或 CSS)

javascript - 从数组中生成选择选项并通过与另一个数组进行比较来选择多个元素(jQuery)

javascript - 如何更改jquery中的密码字段类型?

javascript - 为什么我用 Javascript 得到的 div 子元素数量错误?

javascript - 如何让 Angular 在 jqLit​​e 上使用 jQuery