IE11不再支持attachEvent方法了

发现JS的一个错误,后来查找,原来是document.attachEvent这个语句发生了错误。就感到奇怪,因为用的是IE,觉得IE就应该支持attachEvent方法的。再查,我的IE已经被360更新到11版本了,而IE11却已经移除了对attachEvent方法的支持。

所以在使用attachEvent方法时,不能通过判断浏览器是否是IE来决定是否使用attachEvent方法了,而要使用功能判断。代码如下:

/*
 * http://julabs.com
 */
var addEvent = function(element, type, listener) {
	if(element.addEventLister){
		element.addEventLister(type,listener,false);
	}else if(element.attachEvent && listener.call){
		element.attachEvent('on'+type,function(){
			return listener.call(element,window.event);
		});
	}else{
		element['on'+type] = function() {
			return listener.call(element);
		}
	}
}

参考:

此条目发表在 前端 分类目录,贴了 , 标签。将固定链接加入收藏夹。