javascript按键输入密钥

时间:2011-10-24 20:35:17

标签: javascript jquery input keypress

我在表单外部有一个输入字段<input type="text" name="input" />,以便在用户按Enter键时不会提交。我想知道用户何时按下enter而不提交,以便我可以运行一些JavaScript。我希望这可以在所有主流浏览器中工作(虽然我不关心IE)并且是有效的JavaScript。

仅供参考:jQuery是一个选项

2 个答案:

答案 0 :(得分:7)

我不会使用jQuery,这将在IE&lt; 9也是。使用jQuery或其他框架,您可以使用一些更简单的方法来附加事件侦听器。

var input = document.getElementsByName("input")[0];
if (input.addEventListener)
    input.addEventListener("keypress", function(e) {
        if (e.keyCode === 13) {
            // do stuff
            e.preventDefault();
        }
    }, false);
else if (input.attachEvent)
    input.attachEvent("onkeypress", function(e) {
        if (e.keyCode === 13) {
            // do stuff
            return e.returnValue = false;
        }
    });

答案 1 :(得分:5)

$("input[name='input']").keypress(function(e) {
    //13 maps to the enter key
    if (e.keyCode == 13) {
        doSomeAwesomeJavascript();
    }
})


function doSomeAwestomeJavascript() {
    //Awesome js happening here.
}