jQuery学习笔记2--千里之行始于足下

这次主要讲解jQuery的事件处理。

3.1页面加载完执行任务

$(document),ready()事件处理程序可以用来触发函数中的代码,对于其中的过程还需要分析。

3.1.1代码执行的时机选择

其实除了上面的$(document),ready()事件可以做到,原生的window.onload事件也可以做到类似的效果,但是他们在触发操作的时间上存在一些差异,这种差异只有在加载资源多到一定程度才会体现出来。

当文档完全下载到浏览器中时,会触发window.onload时间。这意味着页面上的全部元素对javascript而言都是可以操作的,这种情况对编写功能性的带按摩非常有利,因为不需要考虑加载的顺序。

通过$(document),ready()事件处理的,会在DOM完全就绪并可以使用时调用。虽然意味着所有元素对于脚本来说都是可以访问的,但是,不意味着所有关联的文件都已经完全下载完毕。

ps:加载完成

一般来说,使用$(document),ready()要优于使用onload时间处理程序,但必须明确一点,因为支持文件可能还没有加载完成,所以类似图像的高度和宽度这样的属性此时则不一定有效。如果需要访问这些属性,可能就得选择实现一个onload时间处理程序(或者是使用jQuery为load事件设置处理程序)。这2种机制能够和平共存。

3.1.2基于一个页面执行多个脚本

用onload方法做的话就是:

function do(){
  //执行的内容
}

在html中就是

<body οnlοad="do();">

也可以在javascript中:

window.onload = do;

上面2种方法,第二种优于第一种 ,因为它能够更清晰的从标记中分离出来。

引用函数和调用函数

这里在将函数指定为处理程序时,省略了后面的小括号,只使用了函数名。有小括号,函数会被立即调用;没有小括号,函数名就只是函数的标识符或函数引用,可以用于将来再调用函数。


在只有一个函数的情况下这样使用是没有什么问题的,但是如果还有第二个函数也用这种方式运行。就会导致第二个会替代第一个函数执行。因为.onload属性一次只能保存对一个函数的引用,所以不能有第二个函数。

针对上面的情况使用$(document),ready()机制就能很好的解决这样的问题。每次调用这个方法都会向内部的行为队列中添加一个新函数,当页面加载完成后,所有函数都会被执行。顺序是按照注册的顺序来决定的。

3.1.3缩短代码的简写方式(不推荐,就不说明了)


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值