5.ready

2024-06-07 00:32
文章标签 ready

本文主要是介绍5.ready,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

参考文章
https://segmentfault.com/a/1190000005762854

ready其实自己看看基本能看明白,我写在这里只是为了记录一下,我还是和之前一样,看的是2.0.3的版本,我找了一下,发现以前的版本ready的检测内容更多些,比如参考文章里面是1.8.3版本

先看2.0.3,搜一下ready:可以发现两个,一个很简单,就两句话

jQuery.ready.promise().done( fn );
return this;

这个是挂在jQuery.fn里面的,还有一个是JQuery.extend扩展的,稍微多点,等会儿看

我们平时写ready的时候通常有三种写法

$(document).ready(function)
$().ready(function)
$(function)

$(function)这种方式,显然是先走了JQuery的构造方法,也就是jQuery.fn.init,在init里找一下,可以发现

else if ( jQuery.isFunction( selector ) ) {return rootjQuery.ready( selector );
}

上面这个rootjQuery就是jQuery(document),所以这三种写法其实是一模一样的,都是跑到了jQuery.fn.ready里面,执行了jQuery.ready.promise().done(fn)

这个时候这代码看起来像是jQuery.ready是个deferred,然后执行了promise(),其实不是,其实是有个jQuery.ready.promise()函数(汗),搜一下jQuery.ready.promise可以找到,在这个函数里添加了document的DOMContentLoaded和window的load事件的检测(并且绑定了completed函数),返回了一个readyList.promise(),代码很少,自己看一眼

然后就是等待事件触发,事件触发以后,(completed函数里)调用了jQuery.ready(),这就是刚才我们没看的那个ready,里面有一句readyList.resolveWith( document, [ jQuery ] );,这个就是刚才jQuery.ready.promise()函数里的那个deferred,然后传给jQuery.fn.ready的回调就可以执行了。

1.8.3版本多一些检测内容,onreadystatechange、doScroll等,流程还是一样的(大概)

这篇关于5.ready的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1037668

相关文章

$(document).ready(function(){})和$().ready(function(){})和$(function(){})的区别

$(document).ready(function(){}) 和$().ready(function(){}) 和$(function(){})的区别有那些呢???? 以上三个语法全部是等价的: 还有$(document).bind("ready", handler)。该方法在从 jQuery 1.8 开始不再建议使用。这种用法的行为和 ready 方法类似,只有一点不同

function 报错 Uncaught ReferenceError: fuzzySearch is not defined用$(document).ready(function(){ })里面的

这个情况就有点坑了 ,小胖哥看了都说写法没大问题,后面觉得把 function 函数弄出去的话试下,果然可以了!!!  $(document).ready(function(){ })里面的 function 报错 Uncaught ReferenceError: fuzzySearch is not defined 先来图看看,第一张图跟 第二张图 看起来代码写的很规矩?

$(document).ready()与$(window).load()的区别

1.执行时间不同: 从字面的意思上理解,$(document).ready()就是文档准备好了。也就是浏览器已经解析完整个html文档,dom树已经建立起来了,这时就可以通过class属性或者id属性等等对dom进行操作等。而$(window).load()就是整个页面已经加载完毕。与前者的区别是dom树虽然已经建立起来了,但页面不一定加载完毕,如一些大的图片等,加载完成就需要一定的时间;但是页

NEUOJ 1117: Ready to declare(单调队列)

1117: Ready to declare 时间限制: 1 Sec   内存限制: 128 MB 提交: 358   解决: 41 [ 提交][ 状态][ 讨论版] 题目描述 Finally, you find the most good-looking girl... You are going to write a letter to her. But you a

k8s容器启动不了,一直重启, 报红提示Not Ready

k8s容器启动不了,一直重启, 报红提示Not Ready 反复多次重启后,才能够启动成功。 发现是 启动时间过长,不断达到了失败阈值,于是会不断重启。 将 failureThreshold、 initialDelaySeconds、periodSeconds 这几个参数设置大一些,就可以启动了。 k8s探针类型及探针配置: 详情见: https://blog.csdn.net/sinat

$(document).ready(function(){ });

页面加载完成后开始运行do stuff when DOM is ready 中的语句!     $(document).ready(function() {        // do stuff when DOM is ready        });    选择器    $(“a”)是一个jquery的选择器(selector)    $("")其中的字段就是元素的标记。比如$(

Ready for Beijing. Go! Go!

突然意识到自己最近的状态堪忧。。特放出大招,来提高自己的学习效率。。这也是我一贯的做法,在自己的低迷期,通过记录自己的学习情况。。。 这次为北京准备。。不管什么结果,自己努力过了就好了。。不给自己留下遗憾,这是唯一的要求。。 大计划: 1.研究上交大的出题模式。时到今日,我们也只能有针对性的去研究一下上交大的题目了。。但是,我估计也研究不出来什么东西。。。。 i  don't know 。。

虹科免拆诊断案例 | 2016款吉利帝豪EV车无法进入READY状态

故障现象 一辆2016款吉利帝豪EV车,累计行驶里程约为36.2万km,无法进入READY状态,即无法上高压电,且组合仪表上多个故障灯异常点亮(图1)。 图1 组合仪表上多个故障灯异常点亮 故障诊断 用故障检测仪检测,发现整车控制器(VCU)、车载充电机(OBC)、电机控制器(PEU)、蓄电池管理系统模块(BMS)等多个模块均无法通信(图2),由此推断该车存在通信故障。 图2

捷报频传 | 北京讯通喜获中国信通院2023“Zero Trust Ready SDP解决方案”证书

中国信息通信研究院(以下简称“中国信通院”)算网融合团队联合各生态伙伴,共同发起“Zero Trust Ready”项目,推动零信任(Zero Trust)技术与产业发展。该项目旨在从垂直行业的网络安全需求出发,对齐零信任产业各生态参与方的解决方案、设备功能和服务技术要求,促进国内零信任市场高质量规模化发展。 香港电讯旗下国内子公司——北京讯通通信服务有限公司(以下简称“北京讯通

Jquery中$(document).ready()与window.onload方法的区别

Jquery中$(document).ready()的作用类似于传统JavaScript中的window.onload方法,不过与window.onload方法还是有区别的。 1.执行时间          window.onload必须等到页面内包括图片的所有元素加载完毕后才能执行。         $(document).ready()是DOM结构绘制完毕后就执行,不必等到加载完毕