jquery $('#btn').click与$("#btn").live("click",function()有什么区别?

jquery$('#btn').click与$("#btn").live("click",function()有什么区别?... jquery $('#btn').click与$("#btn").live("click",function()有什么区别? 展开
 我来答
八哥说科技
高粉答主

2019-08-09 · 分享科技资讯,共享科技生活
八哥说科技
采纳数:111 获赞数:78615

向TA提问 私信TA
展开全部

1、延时绑定事件功能不同:

jquery $('#btn').click在文档流中,后续通过脚本动态添加的元素(符合 id="#btn"),是没有绑定click事件的。

$("#btn").live("click",function()后续通过脚本动态添加的元素(符合 id="#btn"),也是绑定了click事件的。如何使用 live() 方法向尚未创建的元素添加事件处理器。

live()可以将事件绑定到当前和将来的元素(eg:为id=zy元素绑定点击事件,而当用js动态生成一个节点并插入到dom文档结构中时,如果是用bind()绑定的,怎么新插入的节点将不会有该bind绑定事件。而live()则可以);

2、绑定方式不同:

.live()则是通过冒泡的方式来绑定到元素上的。更适合列表类型的,绑定到DOM节点上。而click()是直接绑定在元素上。

3、底层API支持不同:

click()方法:在jqeury事件处理API中,bind()是其API基础。click(),mouseover(),mousermove等来处理事件,真正起作用的是bind()。而这些方法都只是辅助作用(别名函数),简化使用。都只有一个参数(触发事件时执行的回调函数)。live()不同,不依赖bind()API。

参考资料来源:jQuery-.click()

参考资料来源:jQuery-.live()

百度网友21ccbbcc2
推荐于2018-02-28 · TA获得超过374个赞
知道小有建树答主
回答量:273
采纳率:0%
帮助的人:358万
展开全部
live方法绑定的事件处理函数,在页面中未来添加的元素只要满足原来的选择器,仍然会导致事件触发。普通的事件绑定则没有这个效果。
对于#btn这个选择器来说,如果你未来将id为btn的元素删除,然后再创建一个id为btn的元素,若你在页面中点击这个新创建的元素,使用$('#btn').click绑定的函数将不会被触发,但使用$("#btn").live("click",...绑定的函数会被触发。
来自:求助得到的回答
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友5ec5394
2012-12-31 · TA获得超过119个赞
知道答主
回答量:175
采纳率:0%
帮助的人:91.8万
展开全部
live 给所有匹配的元素附加一个事件处理函数,即使这个元素是以后再添加进来的也有效。

相比bind方法,$('body').append('<div class="clickme">Another target</div>');添加新的元素后需要再次调用bind方法绑定一次,而live不需要了,另外live和bind都可以同时绑定多个事件
$("#btn").live("click mouseover",function(){});多个事件用空格空开
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
AUOONG
2012-12-31
知道答主
回答量:4
采纳率:0%
帮助的人:6051
展开全部
$('#btn').click是将事件绑定到btn上。
而live是使用的委托方式,委托给了body来触发,当单击btn是不会真正的触发click,而是一致冒泡到body时才会触发。
现在推荐直接使用on来绑定事件,在jQuery后期的源代码中无论是live,bind,delegate都是间接的调用on方法。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
罐子里的糖
2013-01-01 · TA获得超过494个赞
知道小有建树答主
回答量:275
采纳率:100%
帮助的人:133万
展开全部
$('#btn').click(function(){})每次调用的时候都会把上一个function(){}给覆盖住
$("#btn").live("click",function()) 不会覆盖
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式