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

哪位大侠知道jQuery中的bind()函数跟on()函数有什么区别呢?看起来都是用来绑定事件处理程序用的,可它们有啥区别呢?哪位大侠知道的,解释一下咯~谢谢啦!
最新回答
月舞兮颜

2024-09-29 04:23:58

.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()

四叶草紫丁香

2024-09-29 14:30:18

.bind()是直接绑定在元素上
.live()则是通过冒泡的方式来绑定到元素上的。更适合列表类型的,绑定到document DOM节点上。和.bind()的优势是支持动态数据。
.delegate()则是更精确的小范围使用事件代理,性能优于.live()
.on()则是最新的1.9版本整合了之前的三种方式的新事件绑定机制
独我暖阳

2024-09-29 16:17:04

bind就是调用的on,由于jq绑定事件有bind,live,delegate三个方法,比较混乱,所以新版本才出了on代替这三个
梦明

2024-09-29 18:30:49

摘抄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()函数则可以一次为多个不同的事件绑定处理程序。
烟花巷陌ヾ

2024-09-29 18:26:28

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()函数则可以一次为多个不同的事件绑定处理程序。