当前位置:首页 > JavaScript

js 实现ready

2026-03-15 10:44:08JavaScript

在 JavaScript 中实现 ready 功能

ready 功能通常用于确保 DOM 完全加载后再执行脚本,类似于 jQuery 的 $(document).ready()。以下是几种实现方法:

使用 DOMContentLoaded 事件

监听 DOMContentLoaded 事件,确保 DOM 加载完成后执行代码:

document.addEventListener('DOMContentLoaded', function() {
    // DOM 完全加载后执行的代码
});

兼容旧版浏览器的实现

对于不支持 DOMContentLoaded 的旧版浏览器(如 IE8),可以使用以下兼容性方案:

function ready(fn) {
    if (document.readyState !== 'loading') {
        fn();
    } else {
        document.addEventListener('DOMContentLoaded', fn);
    }
}

ready(function() {
    // 需要执行的代码
});

纯 JavaScript 的 ready 函数封装

封装一个类似 jQuery ready 的函数:

function ready(callback) {
    if (document.attachEvent ? document.readyState === "complete" : document.readyState !== "loading") {
        callback();
    } else {
        document.addEventListener('DOMContentLoaded', callback);
    }
}

// 使用示例
ready(function() {
    console.log('DOM is ready');
});

使用 defer 属性

在引入脚本时使用 defer 属性,确保脚本在 DOM 加载后执行:

js 实现ready

<script src="script.js" defer></script>

这些方法可以根据具体需求选择使用,现代浏览器推荐优先使用 DOMContentLoaded 事件。

标签: jsready
分享给朋友:

相关文章

js实现动画

js实现动画

使用 CSS 动画与 JavaScript 控制 通过 JavaScript 动态添加或移除 CSS 类来触发动画。CSS 定义关键帧(@keyframes),JavaScript 通过 classL…

js实现pdf在线预览

js实现pdf在线预览

使用PDF.js实现PDF在线预览 PDF.js是由Mozilla开发的一个开源JavaScript库,可以在网页中直接渲染PDF文件。以下是实现PDF在线预览的步骤: 引入PDF.js库 在HT…

js实现拷贝

js实现拷贝

实现文本拷贝 使用 document.execCommand 方法(已废弃但兼容性较好): function copyText(text) { const textarea = document…

js实现驼峰

js实现驼峰

实现驼峰命名的几种方法 使用正则表达式和字符串替换 通过正则表达式匹配字符串中的特定模式(如下划线或短横线),并将其后的字母转换为大写,同时移除分隔符。 function toCamelCase(s…

js实现授权

js实现授权

授权流程设计 授权流程通常涉及前端与后端的交互,常见方案包括OAuth2.0、JWT等。以JWT为例的典型流程: 用户提交凭证(如用户名密码)到认证服务 服务端验证通过后生成包含用户信息的J…

js实现目录

js实现目录

实现目录的基本思路 在JavaScript中实现目录功能通常涉及以下几个核心步骤:解析文档中的标题元素(如h1-h6),动态生成目录结构,并添加交互逻辑(如点击跳转)。以下是具体实现方法: 解析标题…