javascript 자바스크립트 window.event 질문드립니다.

조회수 603회
window.onload=function() {
            input_2.onkeydown=function() {
                // 이벤트 객체를 추출합니다.
                var event=e||window.event; // 이거 안해도 돌아감
                // 사용자의 입력이 백스페이스이고 입력된 글자가 없는 경우
                if(event.keyCode==8 && input_2.value.length==0) {
                    input_1.focus();
                }
            };
    }

안녕하세요 위 코드는 주민번호 뒷자리칸에 내용이 없을때 백스페이스 키를 누르면 주민번호 앞자리로 자동 포커스되는 코드중 일부입니다.

var event=e||window.event;

이 부분을 안해도 잘만 돌아가던데 저 부분의 뜻이 대체 무엇인지 궁금합니다.

1 답변

  • 구시대의 유물입니다. 구형 IE를 대응하려 하지 않는 이상, 쓸 필요 없어진 코드입니다.

    차라리 해당 줄을 지우고 다음과 같이 쓰세요.

    window.onload=function() {
       input_2.onkeydown=function(event) {
            /*...*/
       }
    }
    

    window.event를 쓰는 것과 위의 코드는 결과적으로 같은 겁니다. 하지만 여러가지 이유로 위의 코드가 더 안전하고 의미 전달에 좋습니다.

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)