Re: [問題] javascript載入問題 有時候會失效

看板Ajax作者 (沉默是金。)時間14年前 (2011/02/13 07:09), 編輯推噓2(206)
留言8則, 2人參與, 最新討論串3/4 (看更多)
※ 引述《Numino (神聖光芒)》之銘言: : ※ 引述《coldollsheep (加油加油^^)》之銘言: : : 請大大幫忙看一下 謝謝 : 把開始的 $(document).ready(function(){....}) : 改成 document.onready=function(){ : ... : }(); : 可以確保載入完成後執行 等等,差點被你唬了,orz 這年頭都流行亂寫然後拿來唬人嗎........ 這是我這個月第三次看到有人寫錯 function assign 了... 你有沒有想過你的 document.onready 到底吃到什麼啊 -_-# (提示 , 他吃到 undefined .) <script> document.onready=function(){ alert("ready"); }(); </script> <script> alert("hi"); </script> 你可以解釋一下為什麼用你的寫法, 底下那個alert("hi") 還在 alert("ready") 之後出現嗎, 如果是「載入完成後」執行的話,這個行為顯然是不對的。 http://jsfiddle.net/Vc5kV/ 用 jQuery 的寫法則是 hi 在前 alert在後喔。 http://jsfiddle.net/Vc5kV/1/ ----------------------------------- 如果真的要用純 JS bind ready event 的話, (不考慮iframe/ajax ready) 可以參考 jQuery source //Mozilla, Opera and webkit window.addEventListener( "load", function(){}, false ); //for IE window.attachEvent( "onload", function(){} ); 我完全同意會 javascript 的確會很有幫助,不過還有需要學習的地方... 至少在純 js bind event , 個人並不建議用 addEventListener/attachEvent以外的方式。 另外我覺得原po的問題之前看過他頁面, 應該是cache 或什麼的其他問題可能性比較高。 我記得之前看他script tag 寫在前面,invoker 也沒什麼問題, 也沒有 defer attribute ,應該很ok才對。 當然現在頁面打不開所以也不知道到底什麼回事。 但我覺得有碰到那個 error , 就該從那個 error 具體的時間點跟生命週期去找,不要隔空亂抓藥......-_-# -- 網頁上拉近距離的幫手 實現 GMail豐富應用的功臣 數也數不清的友善使用者體驗 這就是javascript 歡迎同好到 AJAX 板一同討論。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 72.21.245.243 ※ 編輯: TonyQ 來自: 72.21.245.243 (02/13 07:10)

02/13 07:11, , 1F
上一個被我唸的還在一頁之前...-_-# #1DGwRTHi (Ajax)
02/13 07:11, 1F

02/13 07:11, , 2F
JS 的function 模型不難懂啊...算了 開一篇文章來講好了
02/13 07:11, 2F

02/13 09:33, , 3F
我當時就在想這個問題 不過不敢提出來@@"
02/13 09:33, 3F

02/13 09:34, , 4F
那篇我也有回文耶...XD
02/13 09:34, 4F

02/13 09:39, , 5F
我在想要不要包裝一個綁定事件的function 而且有存已經綁
02/13 09:39, 5F

02/13 09:39, , 6F
上去的東西 不過要怎麼存進去取出來是個問題@@"
02/13 09:39, 6F

02/13 09:40, , 7F
addEvnetListener跟attchEvent都不能存取已經綁上的方法
02/13 09:40, 7F

02/13 09:41, , 8F
要移除有點麻煩 雖然只是多註冊一個function 而已..XD
02/13 09:41, 8F
文章代碼(AID): #1DLnCqvb (Ajax)
文章代碼(AID): #1DLnCqvb (Ajax)