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) =>官方網站不建議使用這個。
■ $(handler)
.ready可能會跟onload 或是 window.onload衝突,這點要注意。
參考:onload的弔詭
沒有留言:
張貼留言