定义
DOM事件被发送用于通知代码相关的事情已经发生了。每一个事件都是继承自Event
类的对象,能够包括自定义的成员属性及函数用于获取事件发生时相关的更多信息。事件能够表示从基本用户交互到渲染模型中发生的事件的自动通知的全部内容。
dom
绑定事件的方法
- ele.onxxx = function (event) {}; 兼容性很好,可是一个元素只能绑定一个处理程序 基本等同于写在HTML行间上
- ele.addEventListener(type, fn, false); IE9如下不兼容,能够为一个事件绑定多个处理程序 当第三个参数设置为true就在捕获过程当中执行,反之就在冒泡过程当中执行处理函数。
- ele.attachEvent(‘on’ + type, fn); IE独有,一个事件一样能够绑定多个处理程序
事件处理程序的运行环境
- ele.onxxx = function (event) {}; 程序this指向是dom元素自己
- obj.addEventListener(type, func, false); 程序this指向是dom元素自己
- obj.attachEvent(‘on’ + type, fn); 程序this指向window
封装兼容性的 addEvent(elem, type, handle) 方法
function addEvent(elem, type, handle) { 函数
if(elem.addEventListener){ this
elem.addEventListener(type, handle, false); .net
} else if(elem.attachEvent) { code
elem.attachEvent('on'+ type, function(){ handle.call(elem); }) 对象
} else { blog
elem['on' + type] = handle; 继承
}事件
}rem
解除事件处理程序
- ele.onclick = false/null;
- ele.removeEventListener(type, func, false);
- ele.detachEvent(‘on’ + type, func);
原文连接:https://blog.csdn.net/qq_37746973/article/details/81100051