jQuery事件委托没得说,直接用on的方式在事件类型参数的后边加一个真正触发事件的对象即可,同时jQuery提供专门写事件委托的方法delegate();接收第三个函数:第一个真正触发事件的对象,第二个事件类型,第三个回调函数
$('table').degelate('td','hover',function(){
$(this).toggleClass('hover');
});
原生js事件委托
原生js事件委托通过e.target判断真正事件触发的对象来完成委托
// 假象container 里有两个按钮 btn1 和 btn2
var container = documnet.getElementByID('container');
container.addEventListener('click',function(e){
// 获取事件触发对象
var target = e.target;
if(target.id == 'btn1'){
alert('btn1');
}else if(target.id == 'btn2'){
alert('btn2');
}
});
网友评论