作者poototo (poototo)
看板Ajax
標題Re: [問題] 請教Jquery的document ready
時間Fri May 4 18:17:33 2012
不好意思,因為剛摸,範例碼都拼拼湊湊,感覺有點虛 ^^;
一開始我script都放head,後來看到有說放body最後可以比較快
急著試效果,就沒有特別統一,結果有些在head有些在body行中
code累積越多就開始出問題
LaPass說的果然有差
我所有Jquery物件都放body最後的script,不放ready也有跑出效果
另外一個問題是,我在Head引用js時,還遇到很詭異的情形
<script src="
http://code.jquery.com/jquery-latest.js"></script>
<script src="
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
→ TonyQ:這是規格,script 一定要有結尾標籤 05/04 19:32
→ buganini:大概是因為parser要吃的,js code裡面也不能出現 05/04 21:44
→ buganini:"</script>" 一定要分開寫成"</scr"+"ipt>"之類的 05/04 21:45
→ buganini:照XML標準js code應該要放在CDATA裡,可是以前沒這種事 05/04 21:45
→ buganini:只好認標籤,總不能html parser還要內建js parser吧 05/04 21:46
→ tyf99:html 在用 <xx></xx> 的時候 xml 都還沒出生... 05/05 00:55
推 s25g5d4:我是習慣遇到/就送他一個escape字元 就是變<\/script> 05/05 20:47