일단은 브라우저별로 이벤트의 처리가 달라진다.
간단하게 인터넷 익스플로러(IE) 와 파이어폭스(F) 에서 이벤트 처리가 틀려진다.
여기서 이벤트란것은..
마우스, 키보드 등과같은 사용자 입력장치를 통해서 브라우저가 인식하는 이벤트
즉, 사용자의 입력에 관한 이벤트가 되겠다.
일단 두 브라우저는 이벤트가 생기고, 생겨난 이벤트를 인식하는 부분에서 차이가있다.
IE 의 경우는 window.event 가
F 의 경우는 event 객체가 인식을 한다.
물론 두 이벤트가 똑같은 속성이나 매소드가 있는지는 잘 모르겟다.
다만 내가 주로 쓰는 keyCode 값에 대해서 생각해보자면..
window.event 와 event 객체값을 잘 설정하면.. IE 에서도 F 에서도 동작할수 있는것이다.
소스는 간단하다 .
<html>동작 자체는 F 에서 사용하는 것과 같이하여 event 객체를 인자로 넘긴다.
<head>
<title>Test Page</title>
<script type="text/javascript">
function doCheckKeyCode(e) {
var E = e ? e : window.event;
alert(E.keyCode);
}
</script>
</head>
<body>
<input type="text" onkeydown="doCheckKeyCode(event)" />
</body>
</html>
그리고서는 자바스크립트 함수로 넘어간 인자값이 존재하는지 파악하여서..
있으면 인자값을 그대로 변수 E 에 대입하고, 존재하지 않으면 window.event 를 대입한다.
그렇게 되면 IE 든 F 든 keyCode를 동일하게 얻을수 있다.