我有一个简单的 jquery 点击事件
<script type="text/javascript"> $(function() { $('#post').click(function() { alert("test"); }); }); </script>
以及在 site.master 中定义的 jquery 引用
<script src="<%=ResolveUrl("~/Scripts/jquery-1.3.2.js")%>" type="text/javascript"></script>
我已经检查了脚本是否被正确解析,我可以看到标记并直接在 firebug 中查看脚本,所以我一定被找到了。但是,我仍然得到:
$ 未定义
并且没有一个 jquery 工作。我也尝试过类似$(document).ready和 jQuery 等的各种变体。
$(document).ready
这是 .net 3.5 上的 MVC 2 应用程序,我确定我真的很密集,谷歌上到处都说要检查文件是否正确引用,我已经检查过并再次检查过,请指教!:/
该错误只能由以下三件事之一引起:
首先,确保正确调用什么脚本,它应该看起来像
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js" type="text/javascript"></script>
并且不应该有属性 async 或 defer 。
然后您应该检查Firebug 网络 面板以查看文件是否实际加载正确。如果没有,它将以红色突出显示,并在其旁边显示“404”。如果文件加载正确,则意味着问题是 2。
确保所有 jQuery javascript 代码都在代码块中运行,例如:
$(document).ready(function () { //your code here });
这将确保在初始化 jQuery 之后加载您的代码。
最后要检查的一件事是确保在加载 jQuery 之前没有加载任何插件。 插件扩展了“$”对象,因此如果您在加载 jQuery 核心之前加载插件,那么您将收到您描述的错误。
注意: 如果您正在加载不需要 jQuery 运行的代码,则不需要将其放置在 jQuery 就绪处理程序中。该代码可以使用document.readyState.
document.readyState