页面加载完成后再执行JS的jquery写法以及区别说明

在网页中,我们经常需要在页面加载完成后再执行一些 JavaScript 代码。这个需求非常普遍,比如我们需要在 DOM 树构建完成后再去操作元素,或者需要等待图片等资源加载完成后再进行后续的逻辑处理。在这种需求下,我们可以使用 JQuery 提供的 ready() 方法来处理,同时,使用 ready() 方法还有一定的性能优势。下面是详细的攻略:

什么是 jQuery.ready()?

jQuery.ready() 方法是 jQuery 提供的一种特殊的方法,用于在页面 DOM 结构准备好之后立即执行 JavaScript 代码。此时,所有的 DOM 树结构都已经构建完毕,但是可能不包含图片等资源。ready() 方法与 window.onload 方法有相似的作用,但不同的是 jQuery 生命周期函数等待的是页面 DOM 树结构的构建,而 onload 事件确保所有的资源都已经加载完成。

ready() 方法的使用方法

ready() 方法可以直接用于文档对象上,以便在页面 DOM 树结构构建完成后立刻执行 JavaScript 代码。下面是一个简单的 ready() 方法的使用示例:

$(document).ready(function() {
  // DOM 树结构构建完成后立刻执行此函数体中的代码
});

在上面的例子中,我们通过 jQuery 选择器获取文档对象,并为其注册 ready() 事件的回调函数。当 DOM 文档结构准备好之后,ready() 方法会触发注册的回调函数,从而执行业务逻辑代码。

如果您希望使用简洁的语法来绑定 ready() 事件,可以参考下面的代码:

$(function() {
  // DOM 树结构构建完成后立刻执行此函数体中的代码
});

当然,这两种语法的作用是完全相同的,区别仅在于语法的简洁度和可读性。

使用 $(window).on('load', function() {}) 的区别

除了 ready() 方法以外,还有一种常见的等待页面元素加载完成的方法,那就是使用 window.onload 事件。当然,我们也可以使用 jQuery 提供的相应事件绑定方法,即:$(window).on('load',callback)。二者的区别是什么呢?

window.onload 事件确保所有的资源都已经加载完毕后才执行回调函数,相对来说,它的缺点就是等待的时间可能比较长,可能会给用户造成“卡顿”的感觉。而 ready() 方法的话,它也能够确保 DOM 结构已经构建完成,但是在资源加载完成之前就可以在页面上操作一些东西,提高了用户体验度。

同时,$(window).on('load', function() {}) 与 ready() 方法有一个明显的不同点在于触发时刻。window.onload 事件只在所有元素都加载完成之后才会触发,而 ready() 方法则是在 DOM 树构建完成之后就会触发。

举例说明

$(document).ready(function(){
    console.log("DOM树构建完毕后,立即执行此处代码!");
});
$(window).on('load', function() {
    console.log("页面全部资源加载完毕后执行此处代码!");
});

假设当前页面内容过多,单纯使用 $(document).ready() 可能会造成页面“卡顿”的情况,因此完美的解决方案应该是结合 “DOM树构建完毕后,立即执行此处代码!”和“页面全部资源加载完毕后执行此处代码!”这两种方法。可以这么理解,document.ready() 用来对页面DOM树构建完成之后需要立即执行的代码做什么,$(window).on('load', …) 页面资源加载完毕时需要执行的代码做什么。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:页面加载完成后再执行JS的jquery写法以及区别说明 - Python技术站

(0)
上一篇 2023年6月25日
下一篇 2023年6月25日

相关文章

  • 解决IE10以下对象不支持“bind”属性或方法

    解决IE10以下对象不支持“bind”属性或方法的完整攻略 在IE10以下的浏览器中,对象不支持“bind”属性或方法,这会导致一些JavaScript代码无法正常运行。本文将为您提供一份解决IE10以下对象不支持“bind”属性或方法的完整攻略,包括实现思路、解决方法和两个示例说明。 实现思路 解决IE10以下对象不支持“bind”属性或方法的实现思路如下…

    other 2023年5月5日
    00
  • java获取本周一及周日的日期

    以下是关于“Java获取本周一及周日的日期”的完整攻略,过程中包含两个示例。 背景 在Java中,我们经常需要获取日期和时间。有时候,我们需要本周的日期,例如本周一和本周日的日期。本攻略将介绍如何使用Java获取本一和本周日的日期。 基本原理 在Java中,我们可以使用Calendar类来获取日期和时间。我们可以使用Calendar类的get()方法来获取当…

    other 2023年5月9日
    00
  • iPhoneXs Max怎么增加手机内存

    iPhone XS Max增加手机内存攻略 如果你想增加iPhone XS Max的手机内存,以下是一些方法和示例说明,供你参考: 1. 使用云存储服务 云存储服务可以帮助你将文件和数据存储在云端,从而释放设备的内存空间。以下是两个示例: iCloud: iCloud是苹果提供的云存储服务,它可以自动备份你的照片、视频、文档等,并将它们存储在云端。你可以在设…

    other 2023年8月2日
    00
  • 网站开发需要的技术人员都有哪些

    作为网站的作者,为了让大家更好地了解网站开发需要哪些技能人员,我整理了以下攻略: 起步 在进行网站开发前,需要先考虑网站的规模和类型,确定需要哪些技术人员。一般来说,网站开发需要的技术人员主要分为以下几类: 1.前端开发人员 前端开发人员负责网站的界面设计和前端页面制作,主要使用HTML、CSS、JavaScript等技术,熟悉相关的前端框架和库(如Boot…

    other 2023年6月28日
    00
  • Go语言中map使用和并发安全详解

    Go语言中map使用和并发安全详解 概述 在Go语言中,map是一种集合类型,它可以关联一个键和一个值。map是一种引用类型,可以使用 make 函数来创建。map 的底层实现是 hash 表,因此 map 的键是无序的,但是在迭代过程中,Go语言会自动对其进行排序。 map 的基本使用方法是:使用键访问值,如果键不存在,则会返回初始值。map 与 slic…

    other 2023年6月26日
    00
  • 给大小写切换键Caps Lock加上提示音

    给大小写切换键Caps Lock加上提示音攻略 介绍 在这个攻略中,我们将详细讲解如何给大小写切换键Caps Lock加上提示音。这样,每当我们按下Caps Lock键时,我们将听到一个提示音,以便知道键盘的大小写状态。 步骤 步骤一:准备所需材料 在开始之前,我们需要准备以下材料:- 一个计算机键盘- 一个电脑或笔记本电脑- 一个音频文件(提示音) 步骤二…

    other 2023年8月16日
    00
  • macroot用户初始密码设置

    MacRoot用户初始密码设置 如果您是一位MacRoot用户,那么初次登录时需要设置初始密码,以确保安全性。在这篇文章中,我们将为您提供如何设置自己的MacRoot用户初始密码的详细指南。 步骤1:打开终端 要设置MacRoot用户的密码,首先需要打开您的Mac上的终端。您可以通过按下“ Command + 空格”组合键打开Spotlight搜索,然后输入…

    其他 2023年3月29日
    00
  • 解析Spring Data JPA的Audit功能之审计数据库变更

    下面是对于“解析Spring Data JPA的Audit功能之审计数据库变更”的完整攻略: 什么是Spring Data JPA的Audit功能 Spring Data JPA是Spring Data家族的一员,它是Spring框架对JPA(Java Persistence API)规范的封装实现,简化了JPA的开发流程。在Spring Data JPA中…

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