原生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/这篇文章说的很清楚了。

原生js事件的添加和删除,古老的榕树,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。