一、事件绑定:
事件绑定的三种方法:
1、在DOM中直接绑定:
//<ul id="parent-list" οnclick="printName(this)"> //this指当前发生时间的html元素
2、在js代码中绑定:
var node = document.getElementById("parent-list");
node.onclick = function(){
console.log(this); //this指当前发生时间的html元素
}
3、绑定监听函数:(addEventListener 或者 attachEvent,可以绑定多个监听事件)
function addEvent(obj, type, handle){
try{
obj.addEventListener(type, handle, false);
}
catch(e){
try{
obj.attachEvent('on'+type, handle);
}
catch(e){
obj['on' + type] = handle;
}
}
}
比较兼容的写法:不过在addEventListener 或者 attachEvent都不支持的情况下只能绑定一个函数,不能绑定多个。
!!!注意:
1、addEventListener 可以再同一个元素上绑定很多个事件
2、
3、
二、事件流:
捕获:所绑定的相同事件从祖先元素到子元素触发。
冒泡:所绑定的相同事件从子元素到祖先元素触发。
三、事件代理:
应用场景:同一个ul下如果有很多个li标签