当我使用以下代码链接到存储在Google服务器上的jQuery UI文件时:
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.16/jquery-ui.min.js"></script>
...在我的脚本$(document).ready ()
中,我执行以下操作...
$("#date-processed").datepicker ({ dateFormat: 'M. dd, yy' });
此页面上的所有浏览器的脚本都将中断。原因是它说“datepicker”不作为一个函数存在。所以,如果我转到http://jqueryui.com/download并使用UI Core和Datepicker下载自定义jQuery UI库并在我的链接中链接该文件,它就可以正常工作。
所以,为了实验,我从http://jqueryui.com/download下载了自定义jQuery UI库,其中所有已经选中,然后是Google的jQuery UI的CDN副本,文件大小有7kb的差异
在我见过的大多数Datepicker教程和示例中,人们正在使用谷歌的CDN副本,所以我认为这一定是我做错了,而不是谷歌的不一致。我已经验证了我的本地版本号,并且Google的jQuery UI的CDN版本号是相同的。任何熟悉Google的CDN和jQuery UI的人都可以了解这种情况吗?
答案 0 :(得分:1)
Qorbani要求我使用JSFiddle发布源代码,所以我玩了一下,发现它在我使用JSFiddle(http://jsfiddle.net/Znjvh/3/)时有效。然后我意识到问题是在页面上我也使用了jQuery Tools并在 jQuery UI之后包含它。当我将它移到jQuery UI之上时,一切正常(http://jsfiddle.net/Znjvh/5/)。
我去寻找jQuery UI和jQuery Tools之间的冲突,发现我使用的jQuery Tools的标准URL http://cdn.jquerytools.org/1.2.6/jquery.tools.min.js也包含了jQuery。这可能是冲突发生的地方(虽然可能会有更多。由于“mu太短”指出,例如jQuery Tools和jQuery UI都使用.tabs()
。
无论如何,对于偶然发现这个问题的其他用户,如果你一起使用jQuery Tools和jQuery UI,请确保你包含 not 的jQuery工具也包含jQuery。我通过将URL更改为http://cdn.jquerytools.org/1.2.6/tiny/jquery.tools.min.js(http://jsfiddle.net/Znjvh/6/)来修复它。
感谢您的帮助,伙计们!