jQuery
函数名 | 特点 |
---|---|
on | 底层函数,其他绑定都是基于此函数 |
bind | 给每个符合条件的节点绑定事件,但是不能给动态添加的节点绑定事件 |
live | 将事件绑定到根元素document上,等待事件层层冒泡后执行,jQ1.7版本以上弃用 |
delegate | 将事件绑定到指定元素 |
综述
bind,将事件直接添加到符合条件的元素上,但是对于动态生成的符合条件的节点就不会绑定事件,需要再次绑定。
live不建议采用,因为它将事件绑定到根元素,需要等待事件层层冒泡后才能触发,层级太深后,容易发生不可控的错误。
delegate,一般用于给指定元素的邻近、稳定父级添加绑定事件,此函数可以指定具体某个节点进行绑定,然后通过冒泡触发。这样的好处是可以为动态添加的元素绑定事件,因为事件是绑定到父级上,子元素可通过冒泡来实现事件响应。在选择绑定的父元素的时候,尽量选择邻近的不会动态生成也不会被删除的父节点,避免造成绑定事件不响应情况。