IE8专用-对象不支持属性或方法'widget'

6

我遇到了一个与[jCoverflip][1]相关的错误,只在IE8中出现。以下错误发生:

SCRIPT438:对象不支持属性或方法'widget' jquery.jcoverflip.js,第508行第1个字符

这与以下代码有关:

$.widget( 'ui.jcoverflip', {

我已经在脚本之前引入了jQuery和jQueryUI,并且在所有其它浏览器中都能够正常运行,什么导致了这个问题呢?


本以为很容易理解,抱歉造成任何困惑,已经纠正。只是想澄清一下,我的问题的原因是什么? - rickyduck
2个回答

5

您似乎加载了两次jQuery:

<!-- First here -->
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
<script type="text/javascript" src="/./scripts/jquery-ui-1.7.2.custom.js"></script>
<!-- Then again here -->
<script type="text/javascript" src="/scripts/jquery.js"></script>

它们分别是v1.3.2和v1.0.4。这些版本已经完全过时了。我不知道jQuery UI 1.7.2的要求是什么,但我确定v1.0.4是不够的。v1.3.2可能可以,但是jQuery UI 1.7.2已经有几年历史了。(您可能至少要查看jQuery UI 1.7.3,它说它适用于jQuery v1.3.2。)
此外,页面上正在使用MooTools,但我没有立即看到您在哪里调用jQuery.noConflict()(我没有深入挖掘)。这很可能是问题所在,因为MooTools和jQuery都尝试使用$。为避免冲突,请在加载jQuery后立即执行以下操作:
<script>
jQuery.noConflict();
</script>

完美的,谢谢。等限制到期就会接受。只是澄清一下,那是两个包含(不是我!!:))干杯。 - rickyduck

2

我有类似的问题。有一个名为jquery.ui.widget.js的文件没有被包含进来。在将它包含进来后,我的问题得到了解决。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接