jquery的ready()方法与 有什么区别?
程序员文章站
2022-03-03 20:13:13
...
请查看 http://qiusuozhe.com/archives/4391.html
一般情况下都是设置body标签的onload监听window的load事件.但load事件是要在页面的元素全部加载完了才触发的,如果页面上图片较多或图片太大,就会导致初始化的代码未被执行的时候用户就做了其它操作了. Jquery库提供了一个非常方便好用的函数( $(selector).ready()),让我们可以在页面的dom加载完后就可以做相应的操作(当然,这还得看用户浏览器的支持).,而不用等待全部元素加载完成.例如:
现在让我们来研究一下这个函数的实现.
原理:
在jquery脚本加载的时候,会设置一个isReady的标记,监听DOMContentLoaded事件(这个不是什么浏览器都有的,不同浏览器,jquery运作方式不一样).当然遇到调用ready函数的时候,如果isReady未被设置,那就是说页面未加载完,就会把要执行的函数用一个数组缓存起来,当页面加载完后,再把缓存的函数一一执行.
jquery ready可以写好几个,每个都执行
onload只能写一个,你写好几个,也只执行一个,好像是执行最后一个
一般情况下都是设置body标签的onload监听window的load事件.但load事件是要在页面的元素全部加载完了才触发的,如果页面上图片较多或图片太大,就会导致初始化的代码未被执行的时候用户就做了其它操作了. Jquery库提供了一个非常方便好用的函数( $(selector).ready()),让我们可以在页面的dom加载完后就可以做相应的操作(当然,这还得看用户浏览器的支持).,而不用等待全部元素加载完成.例如:
$(document).ready(function (){ alert('use in page script tag') }); $(document).ready(function (){ alert('use in import js file') });
现在让我们来研究一下这个函数的实现.
原理:
在jquery脚本加载的时候,会设置一个isReady的标记,监听DOMContentLoaded事件(这个不是什么浏览器都有的,不同浏览器,jquery运作方式不一样).当然遇到调用ready函数的时候,如果isReady未被设置,那就是说页面未加载完,就会把要执行的函数用一个数组缓存起来,当页面加载完后,再把缓存的函数一一执行.
jquery ready可以写好几个,每个都执行
onload只能写一个,你写好几个,也只执行一个,好像是执行最后一个
推荐阅读
-
JQuery中window.onload函数与$(document).ready()的区别实例讲解
-
JQuery的ready函数与JS的onload的区别详解
-
JQuery中window.onload函数与$(document).ready()的区别实例讲解
-
jquery $(document).ready() 与window.onload的区别
-
jquery中的$(document).ready()与window.onload的区别_jquery
-
php中的静态方法与实例方法有什么区别?解决方法
-
JQuery的ready函数与JS的onload的区别详解
-
探索jQuery的ready方法比原生js的window.onload快的奥秘
-
php中的静态方法与实例方法有什么区别?解决方法
-
JQuery的ready函数与JS的onload的区别详解_jquery