首页 > 代码库 > 原生js事件的添加和删除

原生js事件的添加和删除

在IE浏览器中添加或删除事件用attachEvent、detachEvent。在其他标准浏览器中则用addEventListener、removeEventListener。下面的对事件的添加和删除做了封装。直接看代码吧!

/** * @description 事件绑定,兼容各浏览器 * @param target *            事件触发对象 * @param type *            事件 * @param func *            事件处理函数 */function bind(target, type, func) {	if (target.addEventListener) {// 非ie 和ie9		target.addEventListener(type, func, false);	} else if (target.attachEvent) { // ie6到ie8		target.attachEvent("on" + type, func);	} else {		target["on" + type] = func; // ie5	}}/** * @description 事件移除,兼容各浏览器 * @param target *            事件触发对象 * @param type *            事件 * @param func *            事件处理函数 */function unbind(target, type, func) {	if (target.removeEventListener) {		target.removeEventListener(type, func, false);	} else if (target.detachEvent) {		target.detachEvent("on" + type, func);	} else {		target["on" + type] = null;	}}

其他补充关于addEventListener第三个参数的含义,详细请参考https://blog.othree.net/log/2007/02/06/third-argument-of-addeventlistener/这篇文章说的很清楚了。