메뉴 건너뛰기

2019.06.27 09:50

423쪽, 예제9-20

조회 수 127 댓글 1

선생님,

우선 쉽고 재밌는 책 잘 보고 있습니다.

궁금한 사항은,

423쪽 예제 9-20 에서


우측 알트키라는 메세지만 출력되는데요.

e.altLeft 라는 부분이 잘 동작 하는지 궁금합니다.

관련 참조 문서가 있다면 링크도 알려 주시면 좋겠습니다.

?
  • ?
    관리자 2019.06.30 17:31
    key 관련 이벤트가 발생했을 때 이벤트 객체의 타입은 KeyboardEvent 라는 것입니다.
    웹 표준이 변하면서 이 객체의 멤버들 중 몇개가 폐기 처분되었는데, 그 중에 altLeft, ctrlLeft, shiftLeft 등이 포함되어 있네요.
    익스플로러의 예전 버전에서는 잘 동작하였는데 현재 버전에서는 이들이 작동하지 않습니다.
    이들 대신 KeyboardEvent 객체에 다른 멤버들이 이들의 역할을 하는데
    바로 code 라는 프로퍼티입니다.
    code는 눌러진 키의 이름을 알려주는 read-only 속성으로 문자열 값입니다.
    그래서 예제 9-20을 다음과 같이 수정하면 됩니다.
    다음 출간시에는 예제를 모두 수정해놓아야겠습니다.
    덕분에 놓치고 있었던 것들을 바로 잡을 수 있었습니다. 감사!

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>키 이벤트</title>
    <script>
    function whatKeyDown(e) {
    var str = "";
    var div = document.getElementById("div");
    div.innerHTML = ""; // div 객체 내용을 지운다.
    if(e.altKey) {
    str += e.code + " 키가 눌러졌습니다.";
    str += "<br>";
    }

    if(e.shiftKey) {
    str += e.code + " 키가 눌러졌습니다.";
    str += "<br>";
    }

    if(e.ctrlKey) {
    str += e.code + " 키가 눌러졌습니다.";
    str += "<br>";
    }

    str += String.fromCharCode(e.keyCode) + "키가 눌려졌습니다."
    div.innerHTML = str; // div 객체에 html 문서 조각을 출력한다.
    }
    </script>
    </head>
    <body>
    <h3>키 리스너와 키 이벤트 객체의 프로퍼티</h3>
    <hr>
    텍스트 창에 키를 눌러 보세요. Alt, Shift, Ctrl 키도 가능합니다.<br>
    <input type="text" id="text" onkeydown="whatKeyDown(event)">
    <div id="div" style="background-color:skyblue; width:250px; height:50px">
    </div>
    </body>
    </html>

QnA

공부하면서 궁금했던 것을 질문해보세요.

List of Articles
번호 제목 글쓴이 날짜 조회 수
공지 읽어주세요! 연습문제 및 실습문제 정답 공개에 관한 공지입니다. file 관리자 2017.06.20 18277
363 스크립트에서 document.write로 표 만들기 질문드립니다. 1 file 입문한 사람 2020.06.08 1108
362 open challenge 코드 11 hardworking 2017.03.27 1106
361 실습문제 7장 2번의 입력된 반대순으로 출력이 넘 힘듭니다 도움좀 주세요 제발 ㅠㅠ 도널드임 2019.05.27 1105
360 6장 실습문제 짝수 답좀 알려주실분? 제발요  도움 2017.09.18 1105
359 11장 실습문제 6번 arc()문제 제발요 2019.12.06 1093
358 07장 10번 답좀 알고싶습니다... 2 abcd 2017.06.11 1088
357 7장 오픈첼린지 1 Bolt 2017.04.11 1071
356 9장 연습문제 4번 1 초보 2020.10.16 1007
355 몽구스 질문있습니다 ㅜㅜ 3 몽구스초보입니다 2019.01.10 1003
354 오픈챌린지 9장 littlelion 2018.06.20 1002
353 실습문제 7장에 8번 질문 1 abcd 2017.05.09 994
352 한글html 1 키보드 향기 2020.03.29 922
351 [명품 html5+ css3+ javascript 웹 프로그래밍 수정판] 1장 실습문제 4번 질문합니다... 2 file 나능냐공도리 2021.04.17 918
350 4장 19번 1 .. 2018.09.28 906
349 8장 오픈챌린지 1 감자먹을래 2018.04.16 890
348 10장 오픈챌린지 testr 2017.11.19 888
347 11장 실습문제 6번 질문입니다. 1 file 메론 2018.11.29 884
346 10장 이론문제 10번 질문입니다. 3 하늘하 2019.05.15 849
345 6장 실습 8번 1 어려워 2018.12.18 836
344 연습문제 짝수답은어디있나요?? 2021.02.16 830
목록
Board Pagination Prev 1 ... 2 3 4 5 6 7 8 9 10 ... 21 Next
/ 21
위로