Re: [問題] 請教Jquery的document ready

看板Ajax作者 (poototo)時間12年前 (2012/05/04 18:17), 編輯推噓1(106)
留言7則, 4人參與, 最新討論串3/3 (看更多)
不好意思,因為剛摸,範例碼都拼拼湊湊,感覺有點虛 ^^; 一開始我script都放head,後來看到有說放body最後可以比較快 急著試效果,就沒有特別統一,結果有些在head有些在body行中 code累積越多就開始出問題 LaPass說的果然有差 我所有Jquery物件都放body最後的script,不放ready也有跑出效果 另外一個問題是,我在Head引用js時,還遇到很詭異的情形 <script src="" rel="nofollow">http://code.jquery.com/jquery-latest.js"></script> <script src="" rel="nofollow">http://code.jquery.com/jquery-latest.js"/> 尾巴tag的結束方式這兩者我以為沒差,結果有時一個不行? ※ 引述《LaPass (LaPass)》之銘言: : ※ 引述《poototo (poototo)》之銘言: : : <script> : : $(document).ready(function(){...}); : : $('#myButton').click(function(){...}); : : </script> : : ====================================================== : : 如上code,設定按鈕的 click 事件那行不在 ready 中,myButton按下去仍然有效 : : 而UI的widget如 $('#myAccordion').accordion() 一定要用某個具名或匿名函數來啟動 : : accordion()效果才真的跑出來 : : 所以疑問是,怎麼知道Jquery物件後面接的API方法是<script>中單獨寫出來就會執行? : : Thx : : 0504 : <script> : $('#DIV1').XXXXXXXXXXX; // <= 掛掉,因為還還沒讀到DIV1 : $(document).ready(function() : {$('#DIV1').XXXXXXXXXXX;}); //<=OK,因為ready會等DOM讀取完後才執行 : </script> : <div id=DIV1 ></div> : <script> : $('#DIV1').XXXXXXXXXXX; // <= OK : $(document).ready(function() : {$('#DIV1').XXXXXXXXXXX;}); //<=OK : </script> : javascript的原則,就是整頁html檔一行行讀下來,讀到哪裡就執行到哪裡。 : 如果有些東西要花點時間載入 : 那也可能會執行不到.... -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.120.39.178

05/04 19:32, , 1F
這是規格,script 一定要有結尾標籤
05/04 19:32, 1F

05/04 21:44, , 2F
大概是因為parser要吃的,js code裡面也不能出現
05/04 21:44, 2F

05/04 21:45, , 3F
"</script>" 一定要分開寫成"</scr"+"ipt>"之類的
05/04 21:45, 3F

05/04 21:45, , 4F
照XML標準js code應該要放在CDATA裡,可是以前沒這種事
05/04 21:45, 4F

05/04 21:46, , 5F
只好認標籤,總不能html parser還要內建js parser吧
05/04 21:46, 5F

05/05 00:55, , 6F
html 在用 <xx></xx> 的時候 xml 都還沒出生...
05/05 00:55, 6F

05/05 20:47, , 7F
我是習慣遇到/就送他一個escape字元 就是變<\/script>
05/05 20:47, 7F
文章代碼(AID): #1Fewp2B5 (Ajax)
文章代碼(AID): #1Fewp2B5 (Ajax)