javascript - 求救在 requireJS 中,$(window).load() 裡面的程式碼 為什麼不會執行?
黄舟
黄舟 2017-07-05 10:48:19
0
2
1242

#不知道為什麼,$(window).load() 裡面的程式碼不會執行, 我覺得應該是requireJS 載入的問題,但是我不太清楚到底發生了什麼,才不能用$(window).load () 函數, 求救大家,真心感謝! ! !

黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

全部回覆(2)
世界只因有你

使用requireJS的一個好處就是可以保證js模組按照你指定的依賴順序載入。
回到你的程式碼,define用來定義一個模組,同時顯示這個模組依賴XyEason。因此requireJS會保證在XyEason載入完之後,才執行回呼函數也就是function(XyEason)
回呼函數的執行是異步的,而load事件發生在頁面載入的時候,等執行這段程式碼的時候load事件已經觸發過了,自然不會執行。
你的程式碼等價於下面這段

setTimeout(function(){
  window.onload = function(){ alert("load") } //永远不会执行
},1000)
某草草

關鍵點在於你在什麼時機 require()的,如果在onload事件之後肯定是不會觸發的,希望可以幫助到你。

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板