2011-05-11 128 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的默認函數,那麼稍後可能會導致生產錯誤。