2013年2月17日 星期日

javascript onload 事件

onload 事件是在網頁載入完畢時會發出的事件
其中包括了HTML 中包含的 圖像檔 與 JS 檔 等資源。
onload事件的運用有幾種:
1. 在HTML表簽中使用onload=""
   譬如說<body onload="alert(Hi)"></body>
   這種作法,會將雙引號內的字串當成程式碼來執行。
2. 在javascript程式碼當中使用window.onload;
   譬如說:
   <script type="text/javascript">
   function funA(){alert("Hi");}
   window.onload=funA
   </script>
要注意的是使用onload或是window.onload是會互相覆蓋的,
所以不能重複定義。
為了避免這點,可以使用下面這方法:
   var oldonload = window.onload || function () {};
   window.onload = function () {
     oldload();
     // javascript code
   }
將原本onload保存起來,
然後在新的onload處理函式中呼叫原本的onload處理函式。

jQuery中有個.ready可以有點類似onload,他會監聽DOMContentLoaded事件,
能在瀏覽器下載其他資源前就先執行,而且不會互相覆蓋。
.ready 的使用方法:
■ $(document).ready(handler)
■ $().ready(handler) =&gt;官方網站不建議使用這個。
■ $(handler)

.ready可能會跟onload 或是 window.onload衝突,這點要注意。

參考onload的弔詭

沒有留言:

張貼留言