jQuery之bind()、live()和delegate()的小结

来源:互联网 发布:mysql读写分离 编辑:程序博客网 时间:2024/04/29 13:54

首先,我们要明白它们是干什么用的,bind()的话是绑定事件,live()是事件委托的时候使用的,1.7版本以后被删除,之后就由delegate()替代了

当然,现在delegate()也渐渐被on()给替代,但是在这里就先不管on()了


bind()会产生绑定冗余,而且不能绑定新生成的元素

live()不会产生冗余,因为它绑定的是document,执行函数是在document中,而且当点击document中其他地方的时候,他会验证是否是绑定元素才会触发,否则不会触发。

delegate()是live()的替代品,但是delegate是通过父类来使用delegate() 方法,然后再在第一个参数选择哪个元素绑定事件,而live()是通过绑定事件的元素来使用live() ,只不过触发是函数在document。

0 0