在输入fire javascript功能

时间:2014-11-25 21:18:25

标签: javascript jquery alert enter

在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>

由于

4 个答案:

答案 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.keyCodee.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没有完成加载。因此,事件不能添加到不存在的元素。