📜  拒绝就绪 jquery - Javascript (1)

📅  最后修改于: 2023-12-03 15:25:52.178000             🧑  作者: Mango

拒绝就绪 jQuery

在编写 JavaScript 应用程序时,有时需要等待页面完全加载和准备就绪,然后才能执行某些操作。在 jQuery 中,有几种方法可以等待页面准备就绪。其中最常见的是使用 jQuery.ready() 方法。

jQuery.ready() 方法

jQuery.ready() 方法是指当文档树准备好用 JavaScript 代码处理时运行的函数。它等同于 JavaScript 的 window.onload 事件。该方法接受一个函数参数,这个函数会在文档准备就绪时被触发。

$(document).ready(function() {
  // 代码在文档准备就绪时执行
});

或者使用更短的写法:

$(function() {
  // 代码在文档准备就绪时执行
});

但是,有时候你需要完全掌控页面的加载过程。在这种情况下,你可以使用 jQuery 的 Deferred 对象。前提是必须创建Deferred 对象,然后等待页面准确无误的加载完毕,然后去执行某个回调函数。

//创建Deferred对象
var deferred = $.Deferred();

// 等待页面准备就绪,在回调函数中执行代码
$(document).ready(function() {
  deferred.resolve();
});

// 使用then()方法在deferred对象被resolve时执行代码
deferred.then(function() {
  // 代码在页面准备就绪时执行
});
jQuery 的$.holdReady() 方法

另外,如果需要暂停页面的加载过程,可以使用 $.holdReady() 方法。可以使用该方法来等待外部资源的加载。当你准备好继续页面的加载过程时,可以调用 $.holdReady(false)

$.holdReady(true);
 
// 在这里进行外部资源的加载操作
 
$.holdReady(false);
总结

拒绝就绪 jQuery 是一种控制页面加载过程的方法,可以在页面元素完全加载和准备就绪后执行 JavaScript 代码。jQuery.ready() 方法是最常见的方法,可以让你指定一个回调函数,在文档准备好处理 JavaScript 代码时执行。使用 Deferred 对象和 $.holdReady() 可以更精细地控制页面的加载过程。