(document).ready() 和(window).load() 之間的區別

$(window).load() 在 jQuery 版本 1.8 中 棄用(並且完全從 jQuery 3.0 中 刪除 ,因此不應該再使用了。關於此事件jQuery 頁面上註明了棄用的原因

與影象一起使用時載入事件的注意事項

開發人員嘗試使用 .load() 快捷方式解決的常見挑戰是在影象(或影象集合)完全載入時執行功能。應該注意有幾個已知的警告。這些是:

  • 它不能一致地工作,也不能可靠地跨瀏覽器
  • 如果影象 src 設定為與之前相同的 src,則在 WebKit 中無法正確觸發
  • 它沒有正確地冒泡 DOM 樹
  • 可以停止為已經存在於瀏覽器快取中的影象觸發

如果你仍然希望使用 load(),請記錄如下:

$(document).ready() 等待直到完整的 DOM 可用 - HTML 中的所有元素都已經過解析並且在文件中。但是,此時影象等資源可能尚未完全載入。如果等到所有資源都被載入很重要**,那麼你知道這個事件的重大限制,**那麼可以使用下面的程式碼:

$(document).ready(function() {
  console.log($("#my_large_image").height()); // may be 0 because the image isn't available
});

$(window).load(function() {
  console.log($("#my_large_image").height()); // will be correct
});