我无法弄清楚为什么当我在$(文档)之前清楚地包含jQuery库时,它仍然没有识别jQuery语法.ready
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1"><title>
</title></head>
<body>
<form name="form1" method="post" action="jQueryDialogTest.aspx" id="form1">
<div>
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwULLTE2MTY2ODcyMjlkZA==" />
</div>
<script src="content/js/jquery-1.3.2.min.js" type="text/javascript"></script>
<script src="content/js/popup.js" type="text/javascript"></script>
<div id="testDialog" winWidth="400" winHeight="500" winResizable="true">
Some test mark-up, should show inside the dialog
</div>
<div><input type="button" id="invokeDialog" value="Click Me!" /></div>
</form>
<script type="text/javascript">
$(document).ready(function()
{
$("input.invokeDialog").click.showDialog("#testDialog");
});
</script>
</body>
</html>
在popup.js中我有这样的例子:
function showDialog(divID)
{
// Get reference to the div element
var dialogDiv = $(divID);
dialogDiv.dialog
(
{
bgiframe: true,
modal: true,
autoOpen: false,
show: 'blind'
}
)
dialogDiv.dialog("open");
}
答案 0 :(得分:9)
您确定它实际上正在加载javascript文件吗?像“Fiddler”这样的工具可以帮助您确定这一点。
此外,您的代码未正确终止,这可能会导致奇怪的错误。试试这个:
$(document).ready(function()
{
$("input.invokeDialog").click.showDialog("#testDialog");
}
);
答案 1 :(得分:3)
黑暗中的刺:你有一个jQuery文件的相对路径:
<script src="content/js/jquery-1.3.2.min.js" ...
所以,如果您的content
目录位于您网站的根目录中:
http://mysite.com/content/
但您的网页位于子目录中:
http://mysite.com/test/mypage.html
那么相对路径将是:
http://mysite.com/test/content/js/jquery-1.3.2.min.js
可能不存在。你应该说:
<script src="/content/js/jquery-1.3.2.min.js" ...
(请注意前导斜杠)?
答案 2 :(得分:2)
该代码是逐字的吗?你在结束括号后错过了一个右括号。
不知道这是否会导致你的问题,等等。
可能看起来很明显,但要确保jQuery的路径是正确的。
答案 3 :(得分:1)
您可以通过直接调用jQuery并通过以下方式添加别名来解决$ not defined errors;
jQuery(document).ready(function($) { $("input.invokeDialog").click.showDialog("#testDialog"); });