$ is not defined
I cannot figure out why it's still not recognizing jQuer开发者_开发百科y syntax when I clearly have included the jQuery library right before my $(document).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>
In popup.js I have for example this:
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");
}
Are you sure that it's actually loading the javascript file? Tools like "Fiddler" can help you determine this.
Also, your code is not terminated correctly, which can cause weird errors. Try this:
$(document).ready(function()
{
$("input.invokeDialog").click.showDialog("#testDialog");
}
);
A stab in the dark: you have a relative path to your jQuery file:
<script src="content/js/jquery-1.3.2.min.js" ...
so if your content
directory is in the root of your site:
http://mysite.com/content/
but your page is in a subdirectory:
http://mysite.com/test/mypage.html
then the relative path will be:
http://mysite.com/test/content/js/jquery-1.3.2.min.js
which presumably doesn't exist. Should you be saying:
<script src="/content/js/jquery-1.3.2.min.js" ...
(note the leading slash) instead?
Is that code verbatim? You're missing a closing parenthesis after the closing brace.
Don't know if that'd cause your issue, tho.
Might seem like an obvious thing, but make sure the path to jQuery is right.
You can solve $ not defined errors by calling jQuery directly and adding the alias by:
jQuery(document).ready(function($) { $("input.invokeDialog").click.showDialog("#testDialog"); });
精彩评论