강좌 & 팁
글 수 2,412
2014.12.07 11:36:44 (*.231.234.96)
42946
javascript를 한동안 안하다가 오래간만에 키를 눌렀을때, 누른 키의 값을 가져와 특정 키값을 눌렀을때 다르게 표현 하는
스크립트를 만들었는데.... 키코드를 가져오는 방법으로 event.keyCode로 사용 하였습니다.
그런데, IE, chrome에서는 잘 되는데 firefox에서는 안되는 것이였습니다. ㅡㅡ;
왜 안될까? 제가 알고 있는게 event.keyCode밖에 없는데 다른게 또 있는걸까??
구글링 하면서 한참을 찾았습니다.
찾다보니 event.which라는게 있더군요...
아래 링크를 참조 하세요.
http://www.w3schools.com/jsref/event_key_which.asp
어떤 브라우저는 event.keyCode를 어떤 브라우저는 event.which를 사용 하던군요.
브라우저를 다 지원 하려면 아래와 같이 코딩을 하면 됩니다.
var x = event.which || event.keyCode;
[샘플코드]
<!DOCTYPE html> <html> <body> <p>KEY code is : <span id="demo"></span></p> <script> document.onkeydown = keyDown; function keyDown(event) { var key = event.which || event.keyCode; document.getElementById("demo").innerHTML = key; } </script> </body> </html>
실행 한 다음 아무키나 누르면 누른 키에 대한 키 코드가 표시 됩니다.
제가 테스트 한 브라우저는 IE, chrome, firefox에서 모두 잘 되었습니다.
감사합니다.