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