原生JS实现DOM加载完成马上执行JS代码的方法

要实现原生JS在DOM加载完成后马上执行代码,可以使用DOMContentLoaded事件或window.onload事件。

1. 使用DOMContentLoaded事件

DOMContentLoaded事件会在DOM文档加载完成后立即触发,不必等待图片、样式等资源的加载完成。它适合在页面中引用的JS代码不依赖于其他资源的时候使用。

事件监听代码如下:

document.addEventListener('DOMContentLoaded', function(event) {
  // 执行需要在DOM加载完成后立即执行的代码
});

示例一:

<!DOCTYPE html>
<html>
<head>
  <title>示例</title>
</head>
<body>
  <script>
    document.addEventListener('DOMContentLoaded', function(event) {
      console.log('DOM加载完成后立即执行的代码');
    });
  </script>
</body>
</html>

示例二:

<!DOCTYPE html>
<html>
<head>
  <title>示例</title>
</head>
<body>
  <script src="script.js"></script>
  <script>
    document.addEventListener('DOMContentLoaded', function(event) {
      // 这里不能直接写在外部的script.js文件中,因为它可能依赖于其他资源
      console.log('DOM加载完成后立即执行的代码');
    });
  </script>
</body>
</html>

2. 使用window.onload事件

window.onload事件会等待DOM文档及所有资源的加载完成后触发。它适合在页面中引用的JS代码依赖于其他资源(如图片)的时候使用。

事件监听代码如下:

window.onload = function(event) {
  // 执行需要在DOM及资源全部加载完成后才能执行的代码
};

示例一:

<!DOCTYPE html>
<html>
<head>
  <title>示例</title>
  <style>
    img {
      display: none;
    }
  </style>
</head>
<body>
  <script>
    window.onload = function(event) {
      console.log('DOM及资源全部加载完成后才执行的代码');
    };
  </script>
  <img src="image.png" alt="" />
</body>
</html>

示例二:

<!DOCTYPE html>
<html>
<head>
  <title>示例</title>
</head>
<body>
  <script src="script.js"></script>
  <script>
    window.onload = function(event) {
      // 这里可以写在外部的script.js文件中,因为它依赖于其他资源
      console.log('DOM及资源全部加载完成后才执行的代码');
    };
  </script>
</body>
</html>

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:原生JS实现DOM加载完成马上执行JS代码的方法 - Python技术站

(0)
上一篇 2023年5月27日
下一篇 2023年5月27日

相关文章

  • 将angular.js项目整合到.net mvc中的方法详解

    将AngularJS项目整合到.NET MVC中需要完成以下步骤: 创建.NET MVC项目。 添加AngularJS相关依赖文件和资源到项目中。 创建AngularJS模块和控制器。 在MVC控制器中返回AngularJS模板视图。 在MVC布局或视图中添加AngularJS的标记并启动应用。 以下是详细描述。 1. 创建.NET MVC项目 在Visua…

    jquery 2023年5月27日
    00
  • 详解JavaScript的回调函数

    详解JavaScript的回调函数 什么是回调函数 回调函数是指在一个函数执行完毕后,将另外一个函数作为一个参数传递给这个函数,并在这个函数内部调用这个函数,这个传递进来的函数就称之为回调函数。 在JavaScript中,所有的函数都是第一类对象,也就是说函数可以作为另外一个函数的参数来传递。因此,回调函数也可以作为一个函数的参数来传递,这样可以实现一些异步…

    jquery 2023年5月18日
    00
  • jQWidgets jqxGrid refresh()方法

    jQWidgets jqxGrid refresh()方法详解 jQWidgets jqxGrid 是一种表格控件,用于在 Web 应用程序中创建表格。refresh() 方法是 jqxGrid 控件的一个方法,用于刷新表格的数据。本文将详细解 refresh() 方法的使用方法,并提供两个示例。 方法 refresh() 方法用于刷新表格的数据。该方法的语…

    jquery 2023年5月10日
    00
  • jQuery查找节点并获取节点属性的方法

    jQuery作为一种流行的JavaScript库,提供了许多方法用于查找节点并获取节点属性。在本篇攻略中,将详细介绍这些方法。 查找节点 选择器 通过选择器可以快速定位到需要的节点,常用的选择器有以下几种: #id:选择拥有指定id属性的元素; .class:选择拥有指定class属性的元素; element:选择指定元素名的所有元素; element.cl…

    jquery 2023年5月28日
    00
  • js实现mp3录音通过websocket实时传送+简易波形图效果

    这里提供一份详细的攻略,包括步骤、代码实现和示例说明,供参考。 步骤 安装所需的库 我们需要使用的库包括Recorder.js, Flask以及实现WebSocket的库,这里我们使用Flask-SocketIO。先安装好这些库。 npm install recorder-js pip install flask flask-socketio 前端页面布局 …

    jquery 2023年5月28日
    00
  • boxy基于jquery的弹出层对话框插件扩展应用 弹出层选择器

    以下是关于“boxy基于jquery的弹出层对话框插件扩展应用 弹出层选择器”的完整攻略。 简介 Boxy是一款基于jQuery的弹出层对话框插件。 弹出层选择器是一种扩展,可以创建一个按钮,点击该按钮后弹出对话框。 安装Boxy 下载Boxy插件并将其解压缩到您的项目文件夹中。 在HTML文档的head标签中添加以下内容: <link rel=&qu…

    jquery 2023年5月19日
    00
  • 基于jQuery Ajax实现上传文件

    那么开始讲解“基于jQuery Ajax实现上传文件”的完整攻略。 准备工作 在进行上传文件前,需要准备以下工作: HTML表单中必须含有一个文件上传组件,如下所示: <form id="uploadForm" enctype="multipart/form-data"> <input type=&q…

    jquery 2023年5月27日
    00
  • java搭建一个Socket服务器响应多用户访问

    首先,了解什么是Socket服务器? Socket服务器是一个能够接收并处理多个客户端请求的服务器程序,它使用Socket来实现网络通信。Java中,使用ServerSocket和Socket类来实现一个基本的Socket服务器程序。 准备工作 在开始搭建Socket服务器之前,需要安装一个Java开发环境(JDK),下面以JDK11为例: 下载JDK11,…

    jquery 2023年5月27日
    00
合作推广
合作推广
分享本页
返回顶部