不理解b选择,麻烦解答,谢谢
live()是通过冒泡的方式来绑定到元素上的, 可以在document.ready( )之前就可以绑定其它需要的事件
live()不是这可以绑定到 document 上吗?
document 事件
* body
* div
* div
* div
* .
* .
* .
* ul
* li
*
* live把事件绑在document,利用事件冒泡的方式,就叫做事件委托或代理
难道可以绑定到 div上?
不是只有 delegate 才可以随意绑定到某个元素上吗?谢谢
正在回答 回答被采纳积分+1
同学你好,在live()和delegate()之间,都是利用事件冒泡实现事件委托效果,唯一的差别就在于它们在对要绑定事件的元素的获取速度上有差异。在事件传播上,后者要比前者的速度更快一点,只因后者的限制条件更精准一些。
这可以从它们的绑定事件的结构来看出来,示例:
$('a').live('click', function() { blah() }); // 或者 $(document).delegate('a', 'click', function() { blah() });
因为前者首先要扫描整个的文档查找所有的$(‘a’)元素,把它们存成jQuery对象。尽管live函数仅需要把’a’作为串参数传递以用做之后的判断,但是$()函数并未“知道”被链接的方法将会是.live()。而delegate方法仅需要查找并存储$(document)元素,所以后者实际上要快过前者,
这两个方法在实际开发中几乎不会使用到,且live方法在jQuery1.7版本之后已经被移出了 ,同学简单了解下就可以了,祝学习愉快~
- 参与学习 人
- 提交作业 622 份
- 解答问题 6815 个
微信带火了小程序,也让前端工程师有了更多的展现机会,本阶段带你从移动基础知识的学习到webAPP开发,及小程序开发,让你PC端与移动端两端通吃。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星