You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
asyncfunctiononDOMLoaded(){awaitnewPromise((resolve)=>{if(document.readyState==="loading"){document.addEventListener("DOMContentLoaded",resolve);}else{resolve();}});// 这里的代码会在页面 DOM 加载和解析完成后执行console.log("DOM 加载和解析完成");}onDOMLoaded();
关键词:DOMContentLoaded 和 onload 事件
如果期望在页面加载和解析完成之后触发事件,可以通过以下几种方式实现:
一、使用
DOMContentLoaded
事件传统方式:
addEventListener
方法来监听DOMContentLoaded
事件。当页面的 DOM 结构加载和解析完成后,该事件会被触发。现代方式(异步函数):
await
来等待DOMContentLoaded
事件。这种方式使代码更加简洁和易读。DOMContentLoaded
事件触发后才执行后续的代码。二、使用
jQuery
(如果项目中使用了 jQuery)$(document).ready()
方法:$(document).ready()
方法,它在 DOM 加载和解析完成后执行。这个方法与原生的DOMContentLoaded
事件类似,但在不同的浏览器中有更好的兼容性。三、使用
load
事件(但不推荐作为首选)window.onload
方法:window.onload
事件在整个页面(包括所有的资源如图片、样式表等)完全加载后触发。虽然它也能确保页面加载完成后执行代码,但通常比DOMContentLoaded
事件触发得更晚。DOMContentLoaded
事件会更快,因为它不需要等待所有资源的加载。The text was updated successfully, but these errors were encountered: