zoukankan      html  css  js  c++  java
  • 大坑啊!!!关于页面加载完毕事件!!!

    这个坑导致我页面加载完毕后获取元素高度有问题,获取不正确或者是很小才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(){

    })

  • 相关阅读:
    数据库版本管理工具flyway
    spring webapp的配置文件放置在项目外的方法
    logback
    linux as4 bind9 设置进程中的一些小效果
    设置/勾销Debian的屏保
    Linux内存:内存管理的天禀
    用YUM晋级CentOS体系中PHP和MySQL
    solaris的故事
    Solaris 的防火墙ipfilter设置
    mysql安置设置文件的成绩
  • 原文地址:https://www.cnblogs.com/qdog/p/6918598.html
Copyright © 2011-2022 走看看