如何检测使用jQuery在键盘上按Enter键?

我想检测用户是否使用jQuery按Enter

这怎么可能? 它需要一个插件吗?

编辑:它看起来像我需要使用keypress()方法。

我想知道是否有人知道该命令是否存在浏览器问题 - 就像我应该知道的浏览器兼容性问题一样?


jQuery的重点是你不必担心浏览器的差异。 我确信你可以安全地在所有浏览器中输入13。 所以考虑到这一点,你可以这样做:

$(document).keypress(function(e) {
    if(e.which == 13) {
        alert('You pressed enter!');
    }
});

我写了一个小插件,使其更容易绑定“按下输入键”事件:

$.fn.enterKey = function (fnc) {
    return this.each(function () {
        $(this).keypress(function (ev) {
            var keycode = (ev.keyCode ? ev.keyCode : ev.which);
            if (keycode == '13') {
                fnc.call(this, ev);
            }
        })
    })
}

用法:

$("#input").enterKey(function () {
    alert('Enter!');
})

我无法获得@Paolo Bergantino发布的代码,但是当我将其更改为$(document)e.which而不是e.keyCode我发现它能够正常工作。

$(document).keypress(function(e) {
    if(e.which == 13) {
        alert('You pressed enter!');
    }
});

链接到JS Bin的例子

链接地址: http://www.djcxy.com/p/50355.html

上一篇: How to detect pressing Enter on keyboard using jQuery?

下一篇: minimal code to get a drawable surface