zoukankan      html  css  js  c++  java
  • 前端 js 页面加载完成事件

    在js和jquery使用中,经常使用到页面加载完成后执行某一方法。通过整理,大概是五种方式(其中有的只是书写方式不一样)。

    1:使用jQuery的$(function){};

    2:使用jquery的$(document).ready(function(){});

    前两者本质上没有区别,第1种是第2种的简写方式。两个是document加载完成后就执行方法。

    3:使用jQuery的$(window).load(function(){});

    4:使用window.onload = function(){}

    第3种和第4种都是等到整个window加载完成执行方法体。两者也没有区别,只是一个使用dom对象,一个使用jQuery对象。

    5:在标签上静态绑定onload事件,<body onload="aaa()">等待body加载完成,就会执行aaa()方法。

    那么,这五种方式,执行的先后顺序是怎么样的呢?

    通过下方代码验证发现:

    • 使用第一种 jQuery的$(function){} 和第二种 jquery的$(document).ready(function(){});无论位置放置在哪里,总是优先其余三种方式(原因是:这两种方式是在document加载完成后就执行,后三种是等到整个window页面加载完成后才执行),这两者之间的执行顺序是谁在上方谁优先执行。
    • 使用第三种 jQuery的$(window).load(function(){});和第四种 window.onload = function bbb(){}这两种方式,总是优先于<body onload="aaa()">执行。他们两者执行顺序也是根据谁在上方谁先执行。
    • 使用第五种 <body onload="aaa()">总是最后执行。
    <script type='text/javascript'>
    
      window.onload = function(){ 
        alert("页面加载完成====》onload"); 
      }
    
      $(window).load(function(){ 
        alert("jquery===》window load" ); 
      })
    
      $(document).ready(function () { 
        alert("jquery====》document ready"); 
      });
    
      $(function(){ 
        alert("jquery====》document onload"); 
      });
    
      function aaa(){ 
        alert("静态标签====》onload"); 
      }
    
    </script>
    
    <body onload="aaa()"></body>
  • 相关阅读:
    礼品卡导入可用
    mysql
    初级运维工程师面试题总结
    mysql聚合函数
    去任何一个公司的思想
    mysql数据库引擎
    导入MyEclipse项目乱码
    poj 1743 后缀数组 求最长不重叠重复子串
    hdu 1011 树形dp+背包
    poj 2342 && hdu 1520 树形dp
  • 原文地址:https://www.cnblogs.com/xuxiaoyu/p/11554944.html
Copyright © 2011-2022 走看看