在沒有jQuery 強大功能的情況下開始Web 開發事業時,這一點至關重要探索實現類似結果的替代方法。當尋找廣泛使用的 $(document).ready() 函數的等效函數時,就會出現這樣的情況。
對於遵守ECMA 標準的瀏覽器,以下程式碼片段提供了無縫替換:
document.addEventListener("DOMContentLoaded", function() { // Code goes here });
一旦載入文件物件模型(DOM)樹,該腳本就會觸發執行指定的代碼塊。它專門監視 DOM 結構,不包括圖像和樣式表等外部資源。
與 window.onload 區別
值得注意的是 window.onload 不提供與 JQuery 的 $(document).ready() 等效的功能。 window.onload 在執行程式碼之前等待所有資源(包括外部資源)完全加載,而 $(document).ready() 僅檢測 DOM 的可用性。這種細微的差異可能會影響應用程式的行為,特別是在外部資源載入可能導致效能延遲的情況下。
IE8 和舊版瀏覽器相容性
確保與IE8 及更早版本的相容性瀏覽器中,以下程式碼片段提供了替代選項:
document.onreadystatechange = function () { if (document.readyState == "interactive") { // Code goes here } }
此腳本依賴onreadystatechange 事件並檢查「互動式」文件就緒狀態以啟動程式碼執行。
以上是如何在無 jQuery 的世界中取代 $(document).ready()?的詳細內容。更多資訊請關注PHP中文網其他相關文章!