有些绑定事件的方法经常分不清,下面总结下:

  1. $(document).ready()

是在页面加载完成之后执行的,其作用类似与js方法onload

事件绑定那些事_事件 绑定

事件绑定那些事_事件 绑定_02

上面的代码会报错,因为html按顺序加载代码,当执行到js给p标签添加click事件时,p标签还没加载上,找不到所以报错。此时可以把js放在$(document).ready()里面执行。

2. bind、delegate、live、on处理委派事件的区别

Jquery1.7以后不支持live了;on和bind区别不大,但是on多一个[selector] 参数,可以过滤指定元素;delegate和on的参数(seleter和events)的顺序不同。现在普遍已被.on()取代

3. 了解事件捕获与事件冒泡

事件绑定那些事_事件 绑定_03

第一种是直接给标签p添加click事件;第二种是给document添加p的click事件, 当p被点击时会向上冒泡找是否有他的事件,可以参考下面的图理解,当冒泡到document时发现有绑定click事件即执行。所以用第二种方法可以给未来元素添加事件。

事件绑定那些事_事件 绑定_04

事件绑定那些事_事件 绑定_05

事件绑定那些事_事件 绑定_06