未捕获的TypeError:无法设置undefined的属性'unobtrusive'

时间:2011-10-27 03:31:16

标签: jquery jquery-ui microsoft-cdn

我在Chrome JScript调试器中收到此错误。当我为下面的脚本切换到Microsoft CDN时发生了这种情况。

我不知道如何解决这个问题,不再使用CDN了。

jquery.validate.unobtrusive.min.js:5 未捕获的TypeError:无法设置未定义的属性'unobtrusive'

<link href="http://ajax.aspnetcdn.com/ajax/jquery.ui/1.8.16/themes/start/jquery-ui.css" rel='stylesheet' type='text/css'>
<script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.6.4.min.js"></script>
<script src="http://ajax.aspnetcdn.com/ajax/modernizr/modernizr-1.7-development-only.js"></script>
<script src="http://ajax.aspnetcdn.com/ajax/jquery.ui/1.8.11/jquery-ui.js"></script>
<script src="http://ajax.aspnetcdn.com/ajax/jquery.templates/beta1/jquery.tmpl.min.js"></script>
<script src="http://ajax.aspnetcdn.com/ajax/jquery.templates/beta1/jquery.tmplPlus.min.js"></script>
<script src="http://ajax.aspnetcdn.com/ajax/mvc/3.0/jquery.validate.unobtrusive.min.js"></script>
<script src="http://ajax.aspnetcdn.com/ajax/mvc/3.0/jquery.unobtrusive-ajax.min.js"></script>

2 个答案:

答案 0 :(得分:89)

发生此错误的另一个原因是,如果您在jquery.validate之前加载不显眼的脚本。

所以,

<script src="/scripts/jquery.validate.min.js" type="text/javascript"></script>
<script src="/scripts/jquery.validate.unobtrusive.min.js" type="text/javascript"></script>

没问题,但是:

<script src="/scripts/jquery.validate.unobtrusive.min.js" type="text/javascript"></script>
<script src="/scripts/jquery.validate.min.js" type="text/javascript"></script>

将给出“未设置属性'不显眼的'未定义”错误。

答案 1 :(得分:13)

找到它。我错过了两行:

<script src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.9/jquery.validate.min.js"></script>
<script src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.9/additional-methods.min.js"></script>

我通过reading this page了解了这一点,它描述了jquery.validate.unobtrusive脚本的工作原理。