zoukankan      html  css  js  c++  java
  • JS window.onload事件的一些理解

    1、window.onload 只会执行一次,同一页面中定义:

      window.onload=funcA;

      window.onload=funcB;

      页面加载完成后,只会执行funcB,后面的会覆盖前面的。

      同样,在使用模板页的情况下,也是如此:内容页的会覆盖模板页中的window.onload所触发的事件。

      如果想要执行多个func ,js 的 解决方法:

        <script>
        if(window.attachEvent)//IE:如果浏览器中存在window.attachEvent函数则使用window.attachEvent函数,判断是否是IE还可以使用:if (document.all){//..}
          window.attachEvent("onload",function() {alert("add method");});
        else  //FireFox...
          window.addEventListener("load",function() {alert("add method");},true);
        </script>

    2、window.onload 和 jQuery中的$(document).ready()

      window.onload是等到页面完全加载完成才会触发,页面完全下载后,页面中所有的DOM元素都是可以访问的.这种方式有一个很大的优点:不用考虑DOM元素加载的顺序.         

      而$(document).ready()事件,则是在DOM完全就绪时触发,并不要求页面所有DOM元素加载到浏览器.当HTML解析为DOM元素之 后,事件就可以运行了.这种方式优于onload()事件在

        于:$(document).ready()可以在页面没有完全下载时,操作页面的DOM元 素.

         举个直观的例子:如果某个页面需要处理很多的图像,我们就可以利用ready()事件来控制图像<image>元素的行为,比如显示隐藏,翻 转图像等等.而如果用widow.onload()事件则需要等页  

         面所有的图像完全下载之后,才可以访问图像元素.而如果需要给图像添加链接,则也是需要 在所有的图像下载完成之后,才可以看出效果了.

         所以在这种情况下我们更应该使用$(document).ready()事件了.

         但如果想操作图像的高度宽度等属性,则用onload()事件等待图像下载完毕之后,才可以访问图像的第个属性了.

         在jQuery中也提供了一等效于onload()的事件的 .load()方法.

    引用:http://blog.csdn.net/chenlei65368/article/details/4544823

         http://blog.csdn.net/yinyaling/article/details/5495779

     

  • 相关阅读:
    【数论】 快速幂
    【时间复杂度】你还在担心时间复杂度太高吗?
    【数据结构】 最小生成树(三)——prim算法
    【数据结构】 最小生成树(二)——kruskal算法
    node.js初识11
    node.js初识10
    node.js初识09
    node.js初识08
    node.js初识07
    node.js初识06
  • 原文地址:https://www.cnblogs.com/wftrustself/p/3607344.html
Copyright © 2011-2022 走看看