대부분의 브라우저에서 이벤트 핸들러가 트리거되면 Event라는 클래스의 인스턴스가 첫 번째 매개변수로 핸들러에 전달됩니다. 하지만 늘 주류를 이루던 Internet Explorer는 나름대로 동작하며 Event 인스턴스를 event라는 전역 속성에 저장합니다.
if (!event) event=window. event;
위 명령문은 이벤트 매개변수가 정의되지 않았거나 null인지 여부를 감지하는 데 사용됩니다. 그렇다면 창의 이벤트 속성을 할당하여 브라우저 차이를 제거합니다.
대상 요소에 대한 참조를 얻으려면 표준 호환 브라우저의 target 속성과 IE의 srcElement 속성을 사용하여 객체 감지를 통해 이러한 불일치를 처리하세요.
var target=(event.target) ? event.target : event.srcElement; >
이 문은 event.target의 정의가 존재하는지 확인합니다. 존재하는 경우 해당 값을 지역 변수 target에 할당하고, 그렇지 않으면 event.srcElement를 target에 할당합니다.