我遇到外部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')
}
答案 0 :(得分:1)
将您的代码放在文档就绪处理程序中:
$(function () {
$("#newUser").submit(function (event) {
event.preventDefault();
alert('hello world');
});
});
在元素存在之前,您无法将事件附加到元素。您的脚本在解析#newUser
元素并添加到DOM之前运行。代码中的$("#newUser")
生成一个空集。