最近在编写一个简单的javascript库,从中学习到了很多东西,就比如说给元素添加事件句柄而言,IE和FireFox有所不同。
IE:绑定事件-attachEvent(eventName, func),移除事件-detachEvent(eventName, func) FireFox:绑定事件-addEventListener(eventName, func, false),移除事件-removeEventListener(eventName, func, false)
鼠标或热键的动作我们称之为事件(Event),而由鼠标或热键引发的一连串程序的动作,称之为事件驱动(Event Driver)。而对事件进行处理程序或函数,我们称之为事件处理程序(Event Handler)。在JavaScript中对象事件的处理通常由函数(Function)担任。其基本格式与函数全部一样。
//事件添加删除方法
M.event = {
add:function(elem, eventName, func){
if(window.attachEvent){
//IE attachEvent(事件类型, 处理函数)
elem.attachEvent(eventName, func);
}else if(window.addEventListener){
//Firefox addEventListener(事件类型, 处理函数, 使用捕获)
elem.addEventListener(eventName, func, false);
}
},
remove:function(elem, eventName, func){
if(window.detachEvent){
//IE detachEvent(事件类型, 处理函数
elem.detachEvent(eventName, func);
}else if(window.removeEventListener){
//Firefox removeEventListener(事件类型, 处理函数, 使用捕获)
elem.removeEventListener(eventName, func, false);
}
}
};