当前位置:首页 > JavaScript

js实现ready

2026-02-01 16:06:18JavaScript

JavaScript 实现 ready 事件

在 JavaScript 中,ready 事件指的是当 DOM 完全加载并解析后触发的事件,而不需要等待图片、样式表等外部资源加载完成。以下是几种实现 ready 事件的常见方法。

使用 DOMContentLoaded 事件

DOMContentLoaded 事件是原生 JavaScript 提供的事件,当 HTML 文档完全加载和解析后触发,无需等待外部资源。

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

使用 jQuery 的 ready 方法

如果项目中使用了 jQuery,可以直接使用其提供的 ready 方法。

$(document).ready(function() {
    // DOM 完全加载后执行的代码
    console.log('DOM is ready with jQuery');
});

或者使用简写形式:

$(function() {
    // DOM 完全加载后执行的代码
    console.log('DOM is ready with jQuery shorthand');
});

兼容旧版浏览器的实现

对于需要兼容旧版浏览器(如 IE8 及以下)的情况,可以使用以下代码:

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

ready(function() {
    console.log('DOM is ready with cross-browser support');
});

检查 document.readyState

通过检查 document.readyState 属性,可以判断 DOM 是否已经加载完成。

function ready(fn) {
    if (document.readyState === 'complete' || document.readyState === 'interactive') {
        setTimeout(fn, 0);
    } else {
        document.addEventListener('DOMContentLoaded', fn);
    }
}

ready(function() {
    console.log('DOM is ready with readyState check');
});

使用 window.onload

window.onload 事件会在所有资源(包括图片、样式表等)加载完成后触发,适用于需要等待所有资源加载的场景。

window.onload = function() {
    console.log('All resources are loaded');
};

综合实现

以下是一个综合了多种方法的实现,确保在各种情况下都能正确触发 ready 事件:

js实现ready

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

ready(function() {
    console.log('DOM is ready with comprehensive support');
});

以上方法可以根据项目需求选择使用,推荐优先使用 DOMContentLoaded 事件或 jQuery 的 ready 方法。

标签: jsready
分享给朋友:

相关文章

js实现分页

js实现分页

实现分页的基本思路 分页功能通常需要处理数据分割、页码生成和用户交互。核心逻辑包括计算总页数、根据当前页截取数据、渲染页码按钮等。 前端分页实现(静态数据) 假设已有全部数据,仅需前端分页展示:…

js实现分页

js实现分页

分页的基本实现思路 在JavaScript中实现分页功能通常需要结合前端和后端逻辑。前端负责渲染分页控件和处理用户交互,后端负责提供分页数据。 前端分页实现 纯前端分页适用于数据量较小的情况,可以直…

js实现倒计时

js实现倒计时

使用 setInterval 实现倒计时 通过 setInterval 定时器每秒更新剩余时间,适用于简单倒计时场景。 function countdown(seconds, callback) {…

js实现列表

js实现列表

使用 JavaScript 实现列表 JavaScript 提供了多种方式来实现列表功能,包括数组操作、DOM 元素动态生成等。以下是几种常见的实现方法: 使用数组存储列表数据 数组是 JavaSc…

js jquery

js jquery

jQuery 简介 jQuery 是一个快速、简洁的 JavaScript 库,简化了 HTML 文档遍历、事件处理、动画设计和 Ajax 交互。它兼容多种浏览器,提供易于使用的 API,使开发者能够…

js实现防洪

js实现防洪

防抖(Debounce)实现 防抖的核心思想是在事件触发后延迟执行回调函数,若在延迟时间内再次触发事件,则重新计时。适用于输入框搜索、窗口调整等场景。 function debounce(func,…