2011-05-11 139 views
20

我想利用一些dragable元素..但只要我加载页面我得到这个

$.widget is not a function 

<script src="js/jquery/jquery-1.6.js" type="text/javascript"></script> 

<script src="js/jquery/jquery.ui.core.js" type="text/javascript"></script> 
<script src="js/jquery/jquery.ui.draggable.js" type="text/javascript"></script> 
<script src="js/jquery/jquery.ui.mouse.js" type="text/javascript"></script> 
<script src="js/jquery/jquery.ui.widget.js" type="text/javascript"></script> 
+5

为什么不让jQuery UI为您创建一个包含所有模块的完整脚本:http://jqueryui.com/download – jerone 2011-05-11 18:26:52

+0

@Jerone。是的,还有一个原因是因为简单性和性能。 ' ' – 2011-05-11 18:32:20

回答

3

也许配股代码作为jquery.ui.core.js之后的第二个jquery.ui.widget.js

45

将您的widget.js放在core.js之后,但放在任何其他调用了widget.js文件的jquery之前。 (例如:draggable.js)优先顺序(顺序)在javascript/jquery可以'看到'中很重要。始终在使用助手代码的代码之前定位助手代码。

+15

这实际上回答了问题,而不是说“做这个,而不是”。 – Pepper 2014-01-25 00:22:37

+2

这确实有帮助! – 2014-11-25 20:33:18

+1

确切答案:) – synan54 2016-01-06 02:20:50

3

可能首先包含Jquery Widget,然后是Draggable? 我想这将解决问题.....

1

我得到这个错误最近通过引入一个旧的插件WordPress的。它加载了一个老版本的jquery,恰巧被放置在jquery鼠标文件之前。第二个版本没有加载jquery小部件文件,导致了错误。

使用额外的jquery库没有错误 - 这是一个问题,特别是如果发生沉默失败,导致以后不那么沉默失败。

对于wordpress来说,一个潜在的方法可能是明确地说明jQuery的鼠标会跟随正确的核心,然后再加载其他jquery的小部件。如果你没有捕获到这个错误,并且在与之关联的所有文件中为第二个版本更改jquery的默认函数,那么稍后可能会导致生产错误。