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

     

  • 相关阅读:
    F2etest v2.0.0 正式发布 ,阿里巴巴开源测试方案
    Spring-Wind 1.1.1 发布,SSM 架构核心库
    通过nginx配置文件抵御攻击 | WooYun知识库
    阿里云X-Forwarded-For 发现tomcat记录的日志全部来自于SLB转发的IP地址,不能获取到请求的真实IP。
    openresty+lua在反向代理服务中的玩法 | WooYun知识库
    java~lambda表达式让查询更优雅
    java~日期与字符串的转化
    java~google样式检查和命名规范
    springboot~Mongodb的集成与使用
    springboot~JPA把ORM统一起来
  • 原文地址:https://www.cnblogs.com/wftrustself/p/3607344.html
Copyright © 2011-2022 走看看