jQuery窗体加载事件

本文介绍了jQuery中处理页面完全加载的三种方法。方法三确保DOM树、所有外部资源包括图片加载完毕后执行,以避免因资源延迟加载导致的JS效果失效问题。另外,$(document).ready()方法可能在关联文件未加载完毕时执行,而load()方法则会在所有内容加载完毕后触发。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

方法一:

$(function(){
  $('#box').click(function(){
      alert("haha");
   })
})

方法二:

$(document).ready(function(){
    //省略代码
  })

方法三:

window.onload = function(){
   $('box').click(function(){
        //省略代码
    })
}

方法三即window.onload要等到整个窗口加载完成之后才能出发执行,这就意味着不仅要等到页面的DOM tree加载完成,而且要求所有的外部图片和资源全部加载完毕,才能出发该事件。如果外部资源,例如图片需要很长事件来加载,会让用户有JS效果失效的感觉。

但是 jQuery的方法
“`
$(document).ready(function(){
})

仅仅只需要加载所有的DOM结构之后就可以触发执行,在浏览器把所有的HTML放入DOM tree之前就开始执行JS效果。包括在加载的图片和 资源之前。
这种方式有一种简写的方式:


$(function(){
//此处省略代码
})

注意:
由于在$(document).ready()方法内注册事件,只要DOM就绪就会执行,因此很有可能元素的关联文件还未加载完毕。例如与图片有关的HTML下载完毕,并且已经解析为DOM树,但很有可能图片还未加载完毕,所以例如图片的高度和宽度属性此时不一定有效。要解决这个问题,可以使用jQuery中另一个关于页面加载的方法——load()。load()方法会在元素的onload事件中邦洞一个处理函数,如果处理函数绑定给window对象,则会在所有的内容(包括:窗口,框架,对象,和图片)加载完毕后触发,如果处理函数绑定在元素上,则会在元素加载完后触发。


$(window).load(function(){
//编写代码
})
//相当于下面的JavaScript代码
window.onload = function(){
//编写代码
}

“`

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值