2014-01-23 26 views
0

由於異步加載,我面臨着document.ready代碼的問題。對於異步加載我使用control.js http://stevesouders.com/controljs/document.ready with controlJs

我的js文件,custom.js,是有這樣的代碼:

jQuery(function(){ 
    jQuery('#keyword').autocomplete(); 
}); 

我的js文件序列如下:

<script src="control.js" type="text/javascript"></script> 
<script type="text/cjs" data-cjssrc="jquery-1.7.1.min.js"></script> 
<script type="text/cjs" data-cjssrc="custom.js"></script> 
<script type="text/cjs" data-cjssrc="jquery.autocomplete.min.js"></script> 

所以,由於文件序列,代碼會產生錯誤。我不想更改文件序列。有沒有辦法解決這個問題,而不改變文件序列?

我在想什麼是使用try-catch。

  • 每當我得到的特定文件錯誤,
  • 我把它保存到一些陣列ABC,
  • 執行下一個JS
  • 執行從陣列ABC JS,如果錯誤,賣場陣列ABC及以上覆檢腳步。

我在腦海中想要綁定所有就緒事件,並在所有腳本加載完畢後再執行它。但沒有找到任何可靠的解決方案。

如果您有任何提示和技巧,請讓我知道。

+0

經過研發,看起來好像** Object.defineP roperty **可以解決這類問題。 –

回答

0

固定:)

的變化可能是這樣的:

  • 集obj.defineProperty到 「加載」
  • 覆蓋事件listerner
  • 負載腳本
  • 執行所有的重寫事件