当前位置:首页 > 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实现下拉菜单

使用HTML和CSS创建基础结构 HTML部分需要包含一个触发下拉的按钮和隐藏的下拉菜单内容: <div class="dropdown"> <button class="dr…

js 实现跳转

js 实现跳转

使用 window.location.href 进行跳转 通过修改 window.location.href 可以跳转到指定 URL,浏览器会加载新页面: window.location.hre…

js实现的游戏

js实现的游戏

JavaScript 游戏开发基础 JavaScript 是开发网页游戏的流行选择,因其无需插件即可在浏览器中运行。以下是一些关键技术和资源: HTML5 Canvas Canvas 提供了绘制图形…

实现继承js

实现继承js

实现继承的方式 在JavaScript中,实现继承可以通过多种方式完成,每种方式都有其优缺点。以下是几种常见的实现继承的方法: 原型链继承 原型链继承是最基本的继承方式,通过将子类的原型指向父类的实…

js 实现图片 放大

js 实现图片 放大

使用 CSS transform 实现图片放大 通过 CSS 的 transform: scale() 属性可以实现图片的平滑放大效果。结合 JavaScript 监听鼠标事件控制放大状态: con…

js 实现全选

js 实现全选

实现全选功能的方法 使用 JavaScript 实现全选功能通常需要操作复选框(checkbox)的状态。以下是几种常见的实现方式。 通过 DOM 操作实现全选 // 获取全选复选框和子复选…