$(document).ready()

[size=xx-large][color=orange][b]$(document).ready()[/b][/color][/size]


$(document).ready(function(){XX})

window.onload = function(){ if(document.readyState == "complete"){XX}}

[url]http://www.cnblogs.com/lhb25/archive/2009/07/30/1535420.html[/url]

[size=medium][color=red][b]一、两者比较[/b][/color][/size]
1.执行时间
window.onload必须等到页面内包括图片的所有元素加载完毕后才能执行。
$(document).ready()是DOM结构绘制完毕后就执行,不必等到加载完毕。

2.编写个数不同
window.onload不能同时编写多个,如果有多个window.onload方法,只会执行一个
$(document).ready()可以同时编写多个,并且都可以得到执行

3.简化写法
window.onload没有简化写法
$(document).ready(function(){})可以简写成$(function(){});


[size=medium][color=red][b]二、解释[/b][/color][/size]

jQuery有一个用来作为DOM快速载入javascript的得心应手的小函数,那就是ready… 他在页面加载完成之前执行。 (也许window.onload()能实现同样的功能,但当window.onload函数执行的时候,要说明所有东西已经载入,包括图像和横幅等等。要知道较大的图片下载速度会比较慢,因此用户必须等待大图片下载完毕才能看到window.onload()执行的代码效果,这样就花费了很长的等待时间,这不是我们想要的。)。
$(document).ready(fn):当DOM载入就绪可以查询及操纵时绑定一个要执行的函数。这是事件模块中最重要的一个函数,因为它可以极大地提高web应用程序的响应速度。 简单地说,这个方法纯粹是对向window.load事件注册事件的替代方法。通过使用这个方法,可以在DOM载入就绪能够读取并操纵时立即调用你所绑定的函数.

$(document).ready(function(){
// 你的代码
});
$(document)意思是说,获取整个网页文档对象(类似的于window.document),$(document).ready意思就是说,获取文档对象就绪的时候。
上面这段代码的意思是检查文档对象直到它能够允许被操作(译者注:这样做比window.onload()函数要快的多,因为只要文档对象载入完成就能够执行代码了,而不需要等待页面中的图片下载是否已经完成)---这是我们想要的。


[size=medium][color=red][b]三、bind函数的参数传递问题[/b][/color][/size]
bind函数的定义: $(selector).bind(event,[data,]function)

function句柄中调用的this参数 不是绑定的元素,而是bind绑定的事件
想再函数句柄中传递参数 可以采用下面的方法, 个人偏向第二种方法,代码易读、简单
1. 默认方法 event.data
想传递参数给function 可以通过data传递,function中 event.data.* 来调用
$(“#id”).bind(“click”, { a: $(“#id”).val() } ,function(){alert(event.data.a)});
2. 全局变量
var a = $(“#id”).val();
$(“#id”).bind(“click”, function(){alert(a)});
3. 内部函数
$(“#id”).bind(“click”, function(){Say (“id”)});
function Say(id){alert( $(“#”+id).val() )}



四、Demo
[color=green][b]demo01:[/b][/color]
JQuery API对 $(document).ready() 的解释是:当DOM载入就绪可以查询及操纵时绑定一个要执行的函数。
我的理解:$(document).ready() 用于当前页面加载完成后,就执行其定义的方法,用于异步加载,提交页面响影的速度,用于在一个页面中包含多个页面的情况(一个页面中使用多个iframe)。

1. 将页面中使用iframe的地方使用div代替;并定义div的ID属性。代码示例如下:
 
<div id="MyNoticesDiv" width="100%" height="195px"></div>

<script language="JavaScript" type="text/javascript">
$(document).ready(function(){
$.ajax({ url : '${base}/merchantHome/findMyNotices.action?merchantNoticeDto.limit=3',
type : 'post',
dataType : "text",
success : function(text) {
isPro = false;
if(null != text && "" != text){
$('#MyNoticesDiv').html(text); }
}
});
})
</script>

2.页面完成后,通过js再加载div中要显示的内容。

[color=green][b]demo02[/b][/color]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值