event
addEvent, removeEvent (via QuirksMode)
이벤트를 자유롭게 추가, 삭제 하는 함수, window.onload와 같이 이벤트 함수 설정이 여러번 중복될 가능성이 있을 경우 유용하게 사용할 수 있다. addEventListener는 W3C의 DOM표준, attachEvent는 MS JScript의 구현이다. attachEvent의 구현은 QuriksMode의 또 다른 글 addEvent() considered harmful을 참조
function addEvent(obj, type, fn) {
if (obj.addEventListener) {
obj.addEventListener(type, fn, false);
} else if (obj.attachEvent) {
obj["e" + type + fn] = fn;
obj[type + fn] = function() {
obj["e" + type + fn](window.event);
}
obj.attachEvent("on" + type, obj[type + fn]);
}
}
function removeEvent(obj, type, fn) {
if (obj.removeEventListener) {
obj.removeEventListener(type, fn, false);
} else if (obj.detachEvent) {
obj.detachEvent("on" + type, obj[type + fn]);
obj[type + fn] = null;
obj["e" + type + fn] = null;
}
}