JQuery Tips相关(1)----关于$.Ready()


Posted in Javascript onAugust 14, 2014

 最近一直在研究JQuery,这个东西还是很博大精深的.下面分享一下我的学习总结.

$(document).Ready()方法 VS OnLoad事件 VS $(window).load()方法

     接触JQuery一般最先学到的是何时启动事件。在曾经很长一段时间里,在页面载入后引发的事件都被加载在”Body”的Onload事件里.

     对于Body的Onload事件和JQuery的Ready方法相比,有很多弊端.比如:

1.加载多个函数的问题

<body onload="a();b();">

</body>

     在Onload事件中只能这样加载,很丑陋…而在JQuery中你可以利用多个JQuery.Ready()方法,它们会按次序依次执行

2.代码和内容不分离
    这个貌似不用说了,让人深恶痛绝-.-!!

3.执行先后顺序不同
    对于Body.Onload事件,是在加载完所有页面内容才会触发,我的意思是所有内容,包括图片,flash等.如果页面的这些内容很多会让用户等待很长时间.

    而对于$(document).ready()方法,这个方法只是在页面所有的DOM加载完毕后就会触发,无疑很大的加快了网页的速度.

    但是对于一些特殊应用,比如图片的放大缩小,图片的剪裁。需要网页所有的内容加载完毕后才执行的呢?我推荐使用$(window).load()方法,这个方法会等到页面所有内容加载完毕后才会触发,并且同时又没有OnLoad事件的弊端.

<script type="text/javascript">
    $(window).load(function() {
      alert("hello");
    });
    $(window).load(function() {
      alert("hello again");
    });
  </script>

    上面的代码会在页面所有内容加载完成后按先后顺序依次执行.

  当然不要忘了与之对应的Unload方法

$(window).unload(function() {
      alert("good bye");
    });

  上面代码会在页面关闭时引发.

在所有DOM加载之前引发JS代码
这个方法是我在调试的时候最喜欢的,有时候开发的时候也用这种方法

<body>
  <script type="text/javascript">
    (function() {
      alert("hi");
    })(jQuery)
  </script>
</body>

对,就是利用js闭包的形式将js代码嵌入body,这段代码会自动执行,当然也可以直接嵌入js代码,这种方式要注意顺序问题,如下:

<body>
<div id="test">this is the content</div>
  <script type="text/javascript">

    alert($("#test").html());//I Can display the content
    
  </script>
</body>
<body>

  <script type="text/javascript">

    alert($("#test").html());//I Can't display the content
    
  </script>
  <div id="test">this is the content</div>
</body>

上面两段代码,第二段代码当中因为只能解释到当前代码之前的DOM,而test并不存在于已经解析的DOM数.所以第二段代码无法正确显示.

Javascript 相关文章推荐
Javascript Jquery 遍历Json的实现代码
Mar 31 Javascript
jquery 回车事件实现代码
Aug 23 Javascript
c#和Javascript操作同一json对象的实现代码
Jan 17 Javascript
jquery获取div宽度的实现思路与代码
Jan 13 Javascript
使用JavaScript 实现各种跨域的方法
May 08 Javascript
JavaScript中的ParseInt(&quot;08&quot;)和“09”返回0的原因分析及解决办法
May 19 Javascript
jQuery向父辈遍历的简单方法
Sep 18 Javascript
import与export在node.js中的使用详解
Sep 28 Javascript
three.js中文文档学习之如何本地运行详解
Nov 20 Javascript
JS中注入eval, Function等系统函数截获动态代码
Apr 03 Javascript
vue 组件中使用 transition 和 transition-group实现过渡动画
Jul 09 Javascript
JS一分钟在github+Jekyll的博客中添加访问量功能的实现
Apr 03 Javascript
javascript实现获取cookie过期时间的变通方法
Aug 14 #Javascript
javascript检查浏览器是否支持flash的实现代码
Aug 14 #Javascript
用Jquery选择器计算table中的某一列某一行的合计
Aug 13 #Javascript
html文档中的location对象属性理解及常见的用法
Aug 13 #Javascript
js中string转int把String类型转化成int类型
Aug 13 #Javascript
JS 排序输出实现table行号自增前端动态生成的tr
Aug 13 #Javascript
js图片闪动特效可以控制间隔时间如几分钟闪动一下
Aug 12 #Javascript
You might like
一个颜色轮换的简单例子
2006/10/09 PHP
NOD32 v2.70.32 简体中文封装版 提供下载了
2007/02/27 PHP
PHP 手机归属地查询 api
2010/02/08 PHP
浅谈Laravel POST,PUT,PATCH 路由的区别
2019/10/15 PHP
PHP+Mysql分布式事务与解决方案深入理解
2021/02/27 PHP
JQuery1.4+ Ajax IE8 内存泄漏问题
2010/10/15 Javascript
js字母大小写转换实现方法总结
2013/11/13 Javascript
浅析offsetLeft,Left,clientLeft之间的区别
2013/11/30 Javascript
返回上一页并自动刷新的JavaScript代码
2014/02/19 Javascript
js设置function参数默认值(适合没有传参情况)
2014/02/24 Javascript
node.js 使用ejs模板引擎时后缀换成.html
2015/04/22 Javascript
jQuery给元素添加样式的方法详解
2015/12/30 Javascript
jQuery侧边栏实现代码
2016/05/06 Javascript
浅谈JS之iframe中的窗口
2016/09/13 Javascript
利用Javascript裁剪图片并存储的简单实现
2017/03/13 Javascript
微信小程序中显示html格式内容的方法
2017/04/25 Javascript
node.js+captchapng+jsonwebtoken实现登录验证示例
2017/08/17 Javascript
Angular4表单验证代码详解
2017/09/03 Javascript
NodeJS读取分析Nginx错误日志的方法
2019/05/14 NodeJs
python实现简单ftp客户端的方法
2015/06/28 Python
Python tkinter模块中类继承的三种方式分析
2017/08/08 Python
浅谈Scrapy框架普通反爬虫机制的应对策略
2017/12/28 Python
python之pandas用法大全
2018/03/13 Python
Python实现两个list求交集,并集,差集的方法示例
2018/08/02 Python
python3.6中@property装饰器的使用方法示例
2019/08/17 Python
pygame实现贪吃蛇游戏(上)
2019/10/29 Python
tensorflow 模型权重导出实例
2020/01/24 Python
pytorch随机采样操作SubsetRandomSampler()
2020/07/07 Python
详解Python 最短匹配模式
2020/07/29 Python
如何用python写个模板引擎
2021/01/14 Python
iostream与iostream.h的区别
2015/01/16 面试题
医学生自我鉴定范文
2013/11/08 职场文书
学校庆元旦歌咏比赛主持词
2014/03/18 职场文书
政府门卫岗位职责
2014/04/29 职场文书
Python import模块的缓存问题解决方案
2021/06/02 Python
使用springMVC所需要的pom配置
2021/09/15 Java/Android