jQuery中的bind()函数跟on()函数有什么区别呢?

哪位大侠知道jQuery中的bind()函数跟on()函数有什么区别呢?看起来都是用来绑定事件处理程序用的,可它们有啥区别呢?哪位大侠知道的,解释一下咯~谢谢啦!... 哪位大侠知道jQuery中的bind()函数跟on()函数有什么区别呢?看起来都是用来绑定事件处理程序用的,可它们有啥区别呢?哪位大侠知道的,解释一下咯~谢谢啦! 展开
 我来答
女神向善
推荐于2019-11-12 · TA获得超过1.9万个赞
知道小有建树答主
回答量:451
采纳率:82%
帮助的人:20.3万
展开全部

.bind()与.on()的区别:

(1)是否支持selector这个参数值。由于javascript的事件冒泡特性,如果在父元素上注册了一个事件处理函数,当子元素上发生这个事件的时候,父元素上的事件处理函数也会被触发。

如果使用on的时候,不设置selector,那么on与bind就没有区别了。

(2)on绑定的事件处理函数,对于未来新增的元素一样可以的,和delegate效果相同,而bind则不行。   

(3) delegate用法与on()相同,只是参数的顺序不同:

扩展资料:

.bind()与.on()的实际应用:

1.bind()是直接绑定在元素上 ,将一本地地址与一套接口捆绑。如无错误发生,则bind()返回0。否则的话,将返回-1,应用程序可通过WSAGetLastError()获取相应错误代码。

用于事件处理程序

function ClassName(){
this.eventHandler = (function(){

}).bind(this);

}

2.on()则实现事件代理, 可以在匹配元素上绑定一个或者多个事件处理函数。

(1) 用来绑定多事件,并且为同一函数,如:

$('div').on('click mouseover',function(){

//do sth

});

(2)多个事件绑定不同函数,如:

$('div').on({

'click':function(){

//do sth

},

'mouseover':function(){

//do sth

}

});

(3)事件代理,如:

html:

<button id="bt1">按钮1</button>

jq:

$('#bt1').on('click',function(){

$('body').append('<button>按钮2</button>');

});

$('body').on('click','.bt2',function(){

console.log('这是bt2');

}

参考资料:百度百科-bind()

就烦条0o
2018-07-28 · 知道合伙人软件行家
就烦条0o
知道合伙人软件行家
采纳数:33315 获赞数:46489
从事多年系统运维,喜欢编写各种小程序和脚本。

向TA提问 私信TA
展开全部
.bind()是直接绑定在元素上
.live()则是通过冒泡的方式来绑定到元素上的。更适合列表类型的,绑定到document DOM节点上。和.bind()的优势是支持动态数据。
.delegate()则是更精确的小范围使用事件代理,性能优于.live()
.on()则是最新的1.9版本整合了之前的三种方式的新事件绑定机制
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
桂慕思0IW
2013-03-31 · TA获得超过433个赞
知道小有建树答主
回答量:229
采纳率:0%
帮助的人:141万
展开全部
bind就是调用的on,由于jq绑定事件有bind,live,delegate三个方法,比较混乱,所以新版本才出了on代替这三个
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-03-31
展开全部
摘抄jQuery官方的bind()和on()方法各自的区别介绍如下:1、在on()方法介绍的与bind()方法的区别:As of jQuery 1.7, the .on() method provides all functionality required for attaching event handlers. For help in converting from older jQuery event methods, see.bind(), .delegate(), and .live(). To remove events bound with .on(), see .off(). To attach an event that runs only once and then removes itself, see .one()2、在bind()方法介绍的与on()方法的区别:As of jQuery 1.7, the .on() method is the preferred method for attaching event handlers to a document. For earlier versions, the .bind() method is used for attaching an event handler directly to elements.总结整理上述两段英文的区别意思为:bind()函数是jQuery 1.7之前或更早版本采用的一个用来绑定事件处理程序的函数;on()函数是jQuery 1.7版本提供的首选的用来绑定事件处理程序的函数;从1.7版本的介绍以及参数描述来看,其实这两个函数基本上用法一致,但可能在早期的版本中,bind()函数一次只能为标签对象绑定一个事件的处理程序,而on()函数则可以一次为多个不同的事件绑定处理程序。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
随性亻
2015-06-05 · TA获得超过4180个赞
知道小有建树答主
回答量:4622
采纳率:84%
帮助的人:628万
展开全部
1、在on()方法介绍的与bind()方法的区别:As of jQuery 1.7, the .on() method provides all functionality required for attaching event handlers. For help in converting from older jQuery event methods, see.bind(), .delegate(), and .live(). To remove events bound with .on(), see .off(). To attach an event that runs only once and then removes itself, see .one()2、在bind()方法介绍的与on()方法的区别:As of jQuery 1.7, the .on() method is the preferred method for attaching event handlers to a document. For earlier versions, the .bind() method is used for attaching an event handler directly to elements.总结整理上述两段英文的区别意思为:bind()函数是jQuery 1.7之前或更早版本采用的一个用来绑定事件处理程序的函数;on()函数是jQuery 1.7版本提供的首选的用来绑定事件处理程序的函数;从1.7版本的介绍以及参数描述来看,其实这两个函数基本上用法一致,但可能在早期的版本中,bind()函数一次只能为标签对象绑定一个事件的处理程序,而on()函数则可以一次为多个不同的事件绑定处理程序。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式