엘리먼트에 메소드 추가하는것은 많은 자바스크립트 프래임워크에 많이 나와있습니다.
근데 다 조금씩 틀려서 제 취향에 맞추어서 만들었습니다.

만들때 목표를 잡은것은.

첫째.ie에서 매모리릭 방지하기.
두번째.Browser Sniffer 한번만 하기.
세번째.this scope사용하기.

생각하고 만들었는데.this scope사용하는것 아무래도 안될것 같아서 prototype에서 getElement을 사용했습니다.

문제가 attachEvent을 사용하면 scope가 바뀌는데 그것을 방지하기위해 apply를 사용했습니다.이렇게 하면 this의 scope가 잘되는데 문제는 detachEvent을 사용할때 작동이 안됩니다.
아무래도 detachEvent할때 scope문제가 있는것 같습니다.
(혹시 알고 계신분있으면 댓글 부탁드립니다ㅡㅡ;)

이렇게 해서 간단하게 만들어봤습니다.
거의 prototype아티클 짬뽕해서 만들었습니다.

사용법은
ManageEvent.remove(엘리먼트,이벤트명,함수);
ManageEvent.add(엘리먼트,이벤트명,함수);
ManageEvent.getElement(event);


Posted by 전용우
,