2014-09-03 45 views
0

我動態加載我的jQuery和jQuery UI文件。成功jQuery的文件加載但是當jQuery UI的文件加載錯誤發生無法動態加載jQuery UI - 未捕獲TypeError:無法讀取未定義的屬性'ui'

下面是什麼是在控制檯中顯示:遺漏的類型錯誤:無法讀取的不確定

屬性「UI」我的代碼如下

給出
(function() 
{ 
var jQuery; 
if (window.jQuery === undefined) 
{ 
    var script_tag = document.createElement('script'); 
    script_tag.setAttribute("type", "text/javascript"); 
    script_tag.setAttribute("src", 
      "//code.jquery.com/jquery-1.11.0.min.js"); 




    if (script_tag.readyState) 
    { 
     script_tag.onreadystatechange = function() 
     { 
      if (this.readyState === 'complete' || this.readyState === 'loaded') 
      { 
       scriptLoadHandler(); 
      } 
     }; 
    } 

    else 
    { 
     script_tag.onload = scriptLoadHandler; 
    } 
    (document.getElementsByTagName("head")[0] || document.documentElement).appendChild(script_tag); 

} 

else 
{ 
    jQuery = window.jQuery; 

    main(); 
} 

function scriptLoadHandler() 
{ 
    jQuery = window.jQuery.noConflict(true); 

    main(); 
} 

function main() { 

    jQuery(document).ready(function($) { 
     jQuery.getScript('http://code.jquery.com/ui/1.11.1/jquery-ui.min.js', function() { 
      jQuery.noConflict(true); 
     }); 
}; 
})(); 

有人可以幫助我嗎?

+0

仔細檢查括號。發佈時,它看起來像'main()'和'jQuery(document).ready ...'沒有在你的標記中正確關閉。 – Moob 2014-09-03 10:36:11

回答

3

只要從noConflict通話中移除真實。這放棄了對$的控制,但是jQuery UI留下了jQuery以供使用:

/******** Called once jQuery has loaded ******/ 

    function scriptLoadHandler() { 
     // Restore $ to its previous values and store the 
     // new jQuery in our local jQuery variable 
     jQuery = window.jQuery.noConflict(); // no argument! 
     // Call our main function 
     main(); 
    } 
+0

感謝兄弟!你是一個拯救生命的人! – 2014-09-03 10:36:01

0

用途:

$(document).ready(function() {}); 

$(function() {}); 

兩種說法實際上是完全一樣的。所以第二個電話只是第一個電話的捷徑。

$符號再次只是jQuery的捷徑。如果您已將jQuery加載到您的網站中,則可以同時使用這兩個。

(function($){ 
}(jQuery)); 

這裏你調用一個匿名函數(其中有$作爲參數),並通過了jQuery對象

+0

這是一個獨立的JS文件。它可以添加到任何項目中幷包含在內。要做你剛剛提到的jQuery應該被包含在內。在這裏,我們正在動態加載jQuery文件。而且我確實嘗試了你所說的,它不起作用 – 2014-09-03 10:31:54

相關問題