博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
大坑啊!!!关于页面加载完毕事件!!!
阅读量:4662 次
发布时间:2019-06-09

本文共 629 字,大约阅读时间需要 2 分钟。

这个坑导致我页面加载完毕后获取元素高度有问题,获取不正确或者是很小才20px,元素本身高度几百,困扰了我这个新手几天。原因就是js原生的onload事件和jq的ready事件的区别。

1.执行时间 

        window.onload必须等到页面内包括图片的所有元素加载完毕后才能执行。 
        $(document).ready()是DOM结构绘制完毕后就执行,不必等到加载完毕。 
2.编写个数不同 
         window.onload不能同时编写多个,如果有多个window.onload方法,只会执行一个 
         $(document).ready()可以同时编写多个,并且都可以得到执行 
3.简化写法 
         window.onload没有简化写法 
         $(document).ready(function(){})可以简写成$(function(){});

也就是说你在jq的ready事件下获取元素高度是获取不到或者说获取值不正确的,因为此时只是dom结构加载完毕,图片等资源未必加载完成了,所以会出现多刷新几次,有时候能获取正确有时候又不能的情况。也就是说jq的ready事件是比原生js的onload 事件先执行的,所以说慎用啊!!!没特要求还是用onload吧,防止掉坑还找不到原因。jQuery的onload事件应该是:

$(window).on("load",function(){

})

转载于:https://www.cnblogs.com/qdog/p/6918598.html

你可能感兴趣的文章
课堂作业01
查看>>
第一章 导论
查看>>
[设计模式] 索引
查看>>
IntelliJ IDEA mac 快捷键
查看>>
DEDECMS之八 漏洞错误和疑难杂症
查看>>
Dynamic Method Binding in Delphi 动态方法绑定
查看>>
ashx入侵
查看>>
UITextField 自定义搜索栏
查看>>
DATEPART() 函数用于返回日期/时间的单独部分
查看>>
汇编语言第三章知识梳理及思考
查看>>
上传图片,JS中等比压缩返回BASE64格式String
查看>>
php 返回该字符最后一次出现到字符串到开始
查看>>
spark osx:WARN NativeCodeLoader:62 - Unable to load native-hadoop library for your platform
查看>>
The file * couldn't be opened because you don't have permission to view it
查看>>
ASP.NET MVC4框架揭秘 源代码下载
查看>>
MFC使用SendMessage()发送自定义消息实现进程间通信
查看>>
listview item 动画
查看>>
java哈希表(线性探测哈希表。链式哈希表)
查看>>
模板——倍增LCA
查看>>
第二阶段团队项目冲刺第一天
查看>>