.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');
}
參考資料: