不理解b选择,麻烦解答,谢谢

不理解b选择,麻烦解答,谢谢

live()是通过冒泡的方式来绑定到元素上的, 可以在document.ready( )之前就可以绑定其它需要的事件


live()不是这可以绑定到 document 上吗? 


document  事件

                 * body

                 * div

                 * div

                 * div

                 * .

                 * .

                 * .

                 * ul  

                 * li 

                 *

                 * live把事件绑在document,利用事件冒泡的方式,就叫做事件委托或代理 

难道可以绑定到  div上?

不是只有 delegate  才可以随意绑定到某个元素上吗?谢谢


正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

2回答
好帮手慕慕子 2020-03-24 09:55:08

同学你好,在live()和delegate()之间,都是利用事件冒泡实现事件委托效果,唯一的差别就在于它们在对要绑定事件的元素的获取速度上有差异。在事件传播上,后者要比前者的速度更快一点,只因后者的限制条件更精准一些。

这可以从它们的绑定事件的结构来看出来,示例:

$('a').live('click', function() { blah() });  
// 或者   
$(document).delegate('a', 'click', function() { blah() });

因为前者首先要扫描整个的文档查找所有的$(‘a’)元素,把它们存成jQuery对象。尽管live函数仅需要把’a’作为串参数传递以用做之后的判断,但是$()函数并未“知道”被链接的方法将会是.live()。而delegate方法仅需要查找并存储$(document)元素,所以后者实际上要快过前者,

这两个方法在实际开发中几乎不会使用到,且live方法在jQuery1.7版本之后已经被移出了 ,同学简单了解下就可以了,祝学习愉快~

好帮手慕慕子 2020-03-23 18:52:56

同学你好,可以给任意元素通过live绑定事件。

如下所示写法,可以理解为虽然写法是给li绑定的点击事件,但是在使用live方法时,会自动给document绑定一次点击事件。

http://img1.sycdn.imooc.com//climg/5e7893a709b2403014460664.jpg

live和delegate都可以给任意元素绑定事件

如果我的回答帮助到了你,欢迎采纳,祝学习愉快~

  • 提问者 qq_慕移动3101913 #1
    老师,没理解你说的意思,那live和delegate的区别是?
    2020-03-23 22:02:42
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
3.WebAPP开发与小程序
  • 参与学习           人
  • 提交作业       622    份
  • 解答问题       6815    个

微信带火了小程序,也让前端工程师有了更多的展现机会,本阶段带你从移动基础知识的学习到webAPP开发,及小程序开发,让你PC端与移动端两端通吃。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师