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; } }