zoukankan      html  css  js  c++  java
  • jQuery为啥要提供一个load()方法?


      上午的时候,找个闲暇事件整理之前整理的一些关于jQuery的东西,看到了一个之前做的jQuery的$(document).ready()与window.onload()方法的比較。

    上面两个方法最重要的差别在于:$(document).ready()的触发实际是HTML的这棵DOM树建建立的时候,就触发了这个ready()函数的运行。可是windows.onload()方法则是在DOM树建立之后,而且DOM中带有URL属性的元素都被载入到本地之后,才会去运行。


      说的简单一点。就是一个页面载入分成三个步骤:
    1)浏览器接收到纯文本的HTML
    2)HTML依据XHTML的规则,将其解析成为一个DOM树
    3)浏览器遍历DOM中带有再次请求信息的节点,比如image。通过这些节点上的信息。将远程的资源获取到本地(或者是从cache中获取)
      然后,经过浏览器的解析之后,你看到的就是整个页面了。


      
      当中。$(document).ready()方法的触发时机是在第二步结束,而window.onload()方法的出发时机则是在第三步结束之后。


      联想到一个问题,假设我须要在document.ready()方法中。获取图像的大小应该怎么办呢?由于ready()方法的触发时机被人为的提前了,带来了非常多优点。可是也必定存在类似这种弊端。jQuery还是考虑到了这种情况,而且做了对应的解决方式,在他的文档里面,有一个load()方法,就是用来解决这种问题。

    直接把代码copy上来吧。注意onload方法适用于以下几个对象:images、frames、scripts、window对象。


    <span style="font-family:KaiTi_GB2312;font-size:14px;"><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html>
    	<head>
    		<script type="text/javascript" src="jquery-1.3.1.js"></script>
    		<script type="text/javascript">
    			$(function(){
    				$("#image").load(function(){
    					alert($("#image").width());
    				});
    			})
    		</script>
    	</head>
    	<body>
    		<select multiple="multiple">
    			<option value="1">Oracle</option>
    			<option value="2">Java</option>
    			<option value="3">C++</option>
    		</select>
    		<img id="image" 
    		src="http://t1.baidu.com/it/u=2624739849,4151443416&fm=32&picname=8441c36b01d987e6ca8054e6d69615f8.jpg">
    	</body>
    </html>
    </span>



        这就是jQuery提供了load()方法的主要考虑了。

  • 相关阅读:
    http://blog.csdn.net/steveguoshao/article/details/38414145
    http://www.tuicool.com/articles/EjMJNz
    http://jingyan.baidu.com/article/7f41ecec1b7a2e593d095ce6.html
    Linux 查看当前时间和修改系统时间
    http://m.blog.csdn.net/article/details?id=49132747
    http://www.cnblogs.com/nick-huang/p/4848843.html
    javaScript事件(一)事件流
    jQuery选择器
    超链接a的target属性
    html基础总结版
  • 原文地址:https://www.cnblogs.com/mfrbuaa/p/5137306.html
Copyright © 2011-2022 走看看