在Stackoverflow中阅读这篇文章后,(Detect the Enter key in an text input field)我试着让我输入的一些输入......我没有工作。我做了一个简单的例子,它仍然无效。有人可以暗示正确的方式吗? (仅供参考 - 绝对是新手)
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>On Enter</title>
<script src="../../Scripts/jquery-2.1.0.min.js"></script>
<script>
$(".input1").keyup(function (e) {
if (e.keyCode == 13) {
alert ("It Works");
}
});
</script>
</head>
<body>
<input type="text"
id="input1"
placeholder="Press Enter When Done">
</input>
</body>
</html>
由于
答案 0 :(得分:6)
首先你需要说#input1
而不是.input1
,然后在整个DOM准备就绪时运行它:
$(document).ready(function(){
$("#input1").keyup(function (e) {
if (e.keyCode == 13) {
alert ("It Works");
}
});
});
修改:正如评论中提到的 @jfriend00 一样,使用e.which
以外的e.keycode
是个好主意。为此,您可以将e.keyCode == 13
更改为e.which == 13
。这种方式由jQuery的人员重新开始,因为它标准化了e.keyCode
和e.charCode
。
答案 1 :(得分:5)
将JS中的.input1
更改为#input1
当您使用.
时,这意味着它是一个类,但您有一个ID,#
。
答案 2 :(得分:1)
您的代码触发了“类”,而不是“id”,因此请添加“#”而不是“。”在input1中:
$("#input1").keyup(function (e) {
if (e.keyCode == 13) {
alert ("It Works");
}
});
答案 3 :(得分:0)
首先,与之前的答案一样,您的标准并不好。更改ID 第二,将你的javascript放在准备文件中的文件和。 因为javascript正在执行而documenta没有完成加载。因此,事件不能添加到不存在的元素。