jQuery事件委托沒得說,直接用on的方式在事件類型參數(shù)的后邊加一個真正觸發(fā)事件的對象即可,同時jQuery提供專門寫事件委托的方法delegate();接收第三個函數(shù):第一個真正觸發(fā)事件的對象臼氨,第二個事件類型,第三個回調(diào)函數(shù)
? ? ? $('table').degelate('td','hover',function(){
? ? ? ? ? ? ? $(this).toggleClass('hover');
? ? ? ? });
原生js事件委托
原生js事件委托通過e.target判斷真正事件觸發(fā)的對象來完成委托
? ? ? ? ? ? ? ?// ? 假象container 里有兩個按鈕 btn1 和 btn2
? ? ? ? ? ? ? var container = documnet.getElementByID('container');
? ? ? ? ? ? ? ?container.addEventListener('click',function(e){
? ? ? ? ? ? ? // 獲取事件觸發(fā)對象
? ? ? ? ? ? ? ?var target = e.target;
? ? ? ? ? ? ? ?if(target.id == 'btn1'){
? ? ? ? ? ? ? ? ? ? alert('btn1');
? ? ? ? ? ? ? }else if(target.id == 'btn2'){
? ? ? ? ? ? ? ? ? ? ? ? alert('btn2');
? ? ? ? ? ? }
? ? ? ? ? });