網頁載入事件,jQuery 與 JavaScript 寫法簡單說明 :D
原文:http://www.kangting.tw/2014/03/jquery-javascript-2.html
當你要在一份網頁文件載入完成後立刻執行某些功能,在JavaScript 裏面可以監聽DOMContentLoaded 事件,語法如下:
document.addEventListener('DOMContentLoaded', function () {
console.log('DOMContentLoaded !');
}, false);
$(document).ready(function () {
console.log('jQuery ready !');
});
同樣的,其中的訊息文字「jQuery ready」會在網頁完成載入之後,立刻輸出主控台。 如果是 window 完成載入後觸發的load事件,則必須另外透過以下的語法:
window.addEventListener('load', function () {
console.log('load !');
}, false);
若使用 jQuery 語法,則透過 load() 引用即可:
$(window).load(function () {
console.log('jQuery load !');
});
另外IE 瀏覽器只有 IE9 之後才支援 DOMContentLoaded 事件,因此包含 IE8 的舊版 IE 瀏覽器對上述的這段程式碼是沒有反應的,若要透過 JavaScript 偵測此事件,必須註冊另外一個 onreadystatechange 事件:
document.attachEvent("onreadystatechange", function () {
alert('onreadystatechange');
});
jQuery 透過 ready() 引用可以直接相容,不過 jQuery 2.0 之後便移除了 IE8 相關的語法支援,這點要特別注意。