扫码关注官方订阅号
window,document,jQuery的load和ready分不清 新手搞不太懂,谢谢各位
小伙看你根骨奇佳,潜力无限,来学PHP伐。
3点区别
window.onload
$(document).ready()
$(document).ready(function(){})
$(function(){})
简而言之,window.onload需要加载完页面上的所有资源,比如图片,才会触发。$(document).ready加载完DOM树就会触发,比上面那个快。
$(document).ready
window.onload在jq里面的写法是$(window).load。
$(window).load
$(document).ready可简写为$(...),可以用html5的DOMContentLoaded事件代替。在 html5 之前可用 document.onreadystatechange 事件并手动判断document.readyState == 'complete'来代替。
$(...)
DOMContentLoaded
document.onreadystatechange
document.readyState == 'complete'
// jq $(function() { //... }); // html4 document.onreadystatechange = function() { if(document.readyState == 'complete') { //... } }; //html5 document.addEventListener('DOMContentLoaded', function() { //... });
我认为主要区别有两个:
$(window).load()
window.onload指 html css js 图片都加载完毕执行,jquery.ready方法是html css js加载完毕执行
简单来说Window.onlaod事件是在页面上所以资源加载完毕(图片、视频、脚本等)执行。document.onready是dom树渲染完成(资源未必加载)执行。
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
3点区别
window.onload必须等到页面内包括图片的所有元素加载完毕后才能执行,$(document).ready()是DOM结构绘制完毕后就执行,不必等到加载完毕window.onload不能同时编写多个,如果有多个window.onload方法,只会执行一个,$(document).ready()可以同时编写多个,并且都可以得到执行window.onload没有简化写法,$(document).ready(function(){})可以简写成$(function(){})简而言之,
window.onload需要加载完页面上的所有资源,比如图片,才会触发。$(document).ready加载完DOM树就会触发,比上面那个快。window.onload在jq里面的写法是$(window).load。$(document).ready可简写为$(...),可以用html5的DOMContentLoaded事件代替。在 html5 之前可用document.onreadystatechange事件并手动判断document.readyState == 'complete'来代替。我认为主要区别有两个:
window.onload的出发时机是当页面中的内容全部加载到浏览器时。而 jQuery 中的$(document).ready()的触发时机为问当中的 DOM 全部加载完时,也就是说,不会等待页面中的图片等资源加载完毕。在 jQuery 中也提供与window.onload类似的事件触发方法$(window).load(),该方法可以绑定到任意元素上。window.onload时,前面的方法会被后面的覆盖,因此只会执行最后一个。而 jQuery 中的$(document).ready()不管使用多少次,都会执行其对应的所有事件函数。window.onload指 html css js 图片都加载完毕执行,jquery.ready方法是html css js加载完毕执行
简单来说Window.onlaod事件是在页面上所以资源加载完毕(图片、视频、脚本等)执行。document.onready是dom树渲染完成(资源未必加载)执行。