參考:.on()
眾多歷史問題(如.live())愈魏,不一一說明类茂,只想說府蔗,我們給一個對象綁定事件的時候可以用如下方式:
<code>
$( "#dataTable tbody tr" ).on( "click", function() {
console.log( $( this ).text() );
});
</code>
但是撬槽,這個用法有個局限性摇邦,就是你要綁定事件的對象必須在DOM當(dāng)中已經(jīng)存在(加載完成)恤煞,否則事件就綁不上去。為了解決這個局限性施籍,我們可以使用委托事件居扒,代碼如下:
<code>
$( "#dataTable tbody" ).on( "click", "tr",function() {
console.log( $( this ).text() );
});
</code>
也就是說,.on前面的對象是一定存在的丑慎,當(dāng)點擊tr元素時喜喂,事件會向上冒泡到tbody。
委托事件竿裂,除了有上面這個好處外玉吁,還有一個好處就是:
加入有1000個tr,第一種方式會給這個10000個tr都綁上click事件腻异,而第二種方式只會給tbody綁上click事件进副,每一個tr通過冒泡到tbody即可實現(xiàn)click事件啦!