当前位置:首页 > 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实现轮播

实现基础轮播效果 使用HTML结构创建轮播容器和图片元素: <div class="carousel"> <div class="carousel-inner">…

js实现拖拽

js实现拖拽

实现拖拽的基本步骤 使用JavaScript实现拖拽功能需要监听鼠标事件,包括mousedown、mousemove和mouseup。以下是实现的基本逻辑: const draggableEleme…

js实现复制到剪贴板

js实现复制到剪贴板

使用document.execCommand方法(传统方式,已废弃但部分浏览器仍支持) 该方法适用于旧版浏览器,但已被标记为废弃。执行前需确保文本已被选中: function copyToClipb…

js实现延迟

js实现延迟

实现延迟的方法 在JavaScript中,实现延迟操作有多种方式,以下是几种常见的方法: 使用setTimeout函数 setTimeout是JavaScript中最常用的延迟执行方法。它接受一个回…

js实现点击显示和隐藏

js实现点击显示和隐藏

实现点击显示和隐藏的JavaScript方法 使用classList.toggle切换类名 通过添加/移除CSS类控制元素的显示与隐藏,需提前在CSS中定义隐藏样式(如display: none)。…

js类实现

js类实现

使用类实现 JavaScript 功能 在 JavaScript 中,类(Class)是一种语法糖,基于原型继承机制。通过 class 关键字可以更直观地定义对象模板。 基本类定义 class…