解决绑定事件的兼容性问题

function addEvent(elem,type,handle){//节点,事件类型,函数
	if(elem.addEventListener){
		elem.addEventListener(type,handle,false);
	}else if(elem.attachEvent){//IE
		elem.attachEvent('on'+type,function(){
			handle.call(elem);//改变this指向,this原本是指向window
		})
	}else{
		elem['on'+type] = handle;
	}
}
//call,apply改变this的指向
//全局中的函数中的this都是指向全局的,即window
函数.call(指向,实参1,实参2.......)
函数.apply(指向,[实参1,实参2.......])
call与apply的区别就是传参列表的不同,一个是直接传,一个是传数组

猜你喜欢

转载自blog.csdn.net/qq_40002902/article/details/79957327