外部Javascript没有调用

时间:2015-02-07 18:57:26

标签: javascript jquery

我遇到外部JavaScript问题。这是我的基本表格。

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <link rel="stylesheet" type="text/css" href="../CSS/styles.css">
    <script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-2.0.3.min.js"></script>
    <script src="../Javascript/UserScript.js" type="text/javascript"></script>
<title>Start Page</title>
</head>
<body>
<form id="newUser">
    Email: <input type="text" name="Email"> <br/>
    Password: <input type="password" name="Password"> <br/>
    Confirm Password: <input type="password" name="ConfirmPassword"> <br/>
    <input type="submit" name="Submit" />
</form>
</body>

如果我在内部调用以下内容,它可以正常工作。如果我在外部打电话,我什么也得不到。

$("#newUser").submit(function (event) {
    event.preventDefault();

    alert('hello world');
});

我甚至创建了一个新文件并使用类似的东西进行测试,以确保jquery工作正常。

$(document).ready(function (e) {
    alert('hello')
}

1 个答案:

答案 0 :(得分:1)

将您的代码放在文档就绪处理程序中:

$(function () {
    $("#newUser").submit(function (event) {
        event.preventDefault();

       alert('hello world');
    });
});

在元素存在之前,您无法将事件附加到元素。您的脚本在解析#newUser元素并添加到DOM之前运行。代码中的$("#newUser")生成一个空集。