我有一个简单的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等。
这是一个。net 3.5上的MVC 2应用程序,我确信我真的很密集,谷歌上的所有地方都说要检查文件是否被正确引用,我已经检查了一遍又一遍,请建议!: /
它可能是在jquery脚本被调用之前,你已经调用了你的script标签。
<script type="text/javascript" src="js/script.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js" type="text/javascript"></script>
这个结果是没有定义$
把jquery.js放在你的脚本标签之前,它会工作;)像这样:
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript" src="js/script.js"></script>
首先,您需要确保加载了jQuery脚本。这可能来自CDN或本地网站。如果你在尝试使用jQuery之前不先加载这个,它会告诉你jQuery没有定义。
<script src="jquery.min.js"></script>
这可能是在HEAD或页脚,只是确保你加载它之前,你试图调用任何其他jQuery的东西。
然后,您需要使用以下两种解决方案之一
(function($){
// your standard jquery code goes here with $ prefix
// best used inside a page with inline code,
// or outside the document ready, enter code here
})(jQuery);
or
jQuery(document).ready(function($){
// standard on load code goes here with $ prefix
// note: the $ is setup inside the anonymous function of the ready command
});
请注意,很多时候$(document).ready(function(){//code here});不会起作用。