zoukankan      html  css  js  c++  java
  • jquery中的ready函数与window.onload谁先执行

    关于$(document).ready():
    jquery中的$(document).ready(),那$(document).ready()到底是什么作用呢?是不是可以用window.onload = function(){ ... }来实现呢?
    这里,我们要明确二者之间的区别。
    我们使用window.onload = function(){ ... },是希望在页面被载入时执行function中的处理,但是这些JS代码只有在页面上的全部内容加载完成(包括头部的banner广告,所有图片)的时候才会执行。将window.onload放在最上边的原因就是当你第一次运行codes的时候,HTML'document'还没有加载完成。
    而$(document).ready()却不需要载入得这么“完全”。$(document).ready()是在DOM结构载入完后执行的,而 window.onloal是得在所有文件都加载完后执行的,注意区别,一个是DOM加载完,一个是所有文件加载完。因此,ready肯定在onload 之前发生,页面加载大或者多的图片而使onload执行延后,使用jquery的ready可缓解此问题。
    我们应该紧记,jquery的ready是指在页面的DOM模型加载完后执行指定的函数。之所以经常用$(document).ready()来取代 window.onload,就是因为它是在dom模型加载完成后就执行,而window.onload是在dom元素加载完全后才执行。
    B.关于document.onload和window.onload:
    document.onload和window.onload没有本质的区别,都是指页面载入完成后执行指定函数。

    做一个比较吧:

          window .onload =function (){alert ("welcome");}
         
          $(document).ready(
            function (){
               alert ("thanks for visiting!");
            }
          );

    运行后你会发现 $(document).ready()先执行。

    这里有篇文章专门讨论: Application Events 文章标题ASP.NET AJAX In-Depth: Application Events

    http://www.stephenwalther.com/blog/archive/2008/03/07/asp-net-ajax-in-depth-application-events.aspx

  • 相关阅读:
    Java 数组的浅拷贝和深拷贝
    Java 传递可变参数和方法重载
    Java 数组排序
    Java 一维数组作为参数和返回值
    Java 运算符及优先级
    MySQL 由 5.7 升级为 8.0 之后,Laravel 的配置改动
    Lavarel
    Laravel框架中Blade模板的用法
    php-fpm 配置文件检测
    Laravel Blade 模板 @section/endsection 与 @section/show, @yield 的区别
  • 原文地址:https://www.cnblogs.com/goole/p/1860493.html
Copyright © 2011-2022 走看看