事件
事件:事情发生并得到处理
事件的三要素 : 事件源 + 事件类型 + 事件处理函数
事件对象:事情发生时,浏览器会有一个对象去记录事情发生的整个过程
事件对象通过事件处理函数的第一个参数得到
事件绑定
1 行内js绑定事件
2 对象绑定事件
3 事件监听的方式 -- 不会发生覆盖
addEventListener('click' , fn)
attatchEvent('onclick' , fn) 低版本IE
// 封装一个事件监听的函数
function addEvent( ele , type , cb) {
if(window.addEventListener) {
ele.addEventListener(type , cb)
}
else {
ele.attachEvent('on' + type , cb)
}
}
绑定事件移除
1 普通绑定事件的移除 null
2 事件监听的清除 --- 要求事件处理函数必须是具名函数
removeEventListener(type , fn)
事件需要一个一个的移除
**事件冒泡:事件由内向外扩散
事件捕获:事件由外向内触发
事件监听的第三个参数是 布尔值 ,事件流**
取消事件冒泡
event.stopPropagation()
**事件委托**
事件委托是基于事件冒泡的
事件委托优点
减少事件处理函数
可以给未来的对象绑定事件