본문 바로가기
웹관련/JavaScript-Jquery

[자바스크립트] 이벤트함수에서 e와 window.Event 둘다 사용하는 이유

by 착한덕환 2017. 10. 30.



자바스크립트를 활용하면서 이벤트 함수를 사용할때 보면 e 와 window.Event 를 같이 사용해야 합니다. 

이유가 무엇일까요? 이유는 우리가 흔히 크로스브라우징 때문입니다.


망할... 인터넷 익스플로러는 e 구문을 이해하지 못합니다... 그래서 window.Event 구문을 같이 작성을 해주는것입니다.


그럼 어떻게 작성을 해야하나요??


test.onclick = function(e) {

   e = e || window.Event;

   ...

   ...

}


이렇게 작성을 하면 됩니다. 여기서 || 이부분이 OR연산자 처럼 구분을 해줍니다.


|| 이 구분 앞에 구분자를 인식하면 앞에 구문을 사용하고... 앞에 구문을 이해를 못하면 뒤에 구문을 사용하게 됩니다.


익스플로러에선 e 라는 구문을 모르기때문에 || 구분자 뒤에 있는 window.Event 를 사용하게 되는것이죠.


꼭 이벤트 말고도 다른부분에서 크로스브라우징 문제를 해결해야 할때 많이 사용을 하니 알고 있으면 좋을듯 합니다.



댓글