有些绑定事件的方法经常分不清,下面总结下:
$(document).ready()
是在页面加载完成之后执行的,其作用类似与js方法onload
上面的代码会报错,因为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. 了解事件捕获与事件冒泡
第一种是直接给标签p添加click事件;第二种是给document添加p的click事件, 当p被点击时会向上冒泡找是否有他的事件,可以参考下面的图理解,当冒泡到document时发现有绑定click事件即执行。所以用第二种方法可以给未来元素添加事件。