팁/튜토리얼

단축키 핫키 자바스크립트 소스입니다

2015.10.21 17:48
976
0

아래는 예제입니다.

 

function checkHotkey(){
  if ( (event.srcElement.tagName != 'INPUT') && (event.srcElement.tagName != 'TEXTAREA') ){
    if ( (event.keyCode=='48') || (event.keyCode=='101') ) location.replace('/eond'); /* e, 0 */
    if ( (event.keyCode=='49') || (event.keyCode=='119') )location.replace('/web'); /* w, 1 */
    if (event.keyCode=='50' || event.keyCode=='100') location.replace('/webmal'); /* d, 2 */
    if (event.keyCode=='51' || event.keyCode=='99') location.replace('/community'); /* c, 3 */
    if (event.keyCode=='52' || event.keyCode=='108') location.replace('/look'); /* l, 4 */
    if ( (event.keyCode=='53') || (event.keyCode=='114') ) location.replace('/rosso'); /* r, 5 */
    if ( (event.keyCode=='54') || (event.keyCode=='115') ) location.replace('/is'); /* s, 6 */
    if (event.keyCode=='55' || event.keyCode=='110') location.replace('/mynote'); /* n, 7 */
    if (event.keyCode=='56' || event.keyCode=='102') location.replace('/likefirst'); /* f, 8 */
    if (event.keyCode=='57' || event.keyCode=='104') location.replace('/hello'); /* h, 9 */
    if (event.keyCode=='121') location.replace('/yncare'); /* y */
  }
}
document.onkeypress=checkHotkey;

eond Lv. 12

댓글 4

  • 2015.10.21 20:34 #36659
    좋긴 한데, 키코드로만 탐지하면 간혹 키 레이아웃이 달라지거나 하는 경우가 잦아 라이브러리를 쓰는 편이 좋습니다. 이곳 XE타운 글/댓글작성 단축키도 MouseTrap 이라는 라이브러리 기반입니다. 라이브러리의 장점은, 운영체제별/브라우저별 키코드 매핑이 되어 있어 코드가 훨씬 깔끔해진다는 점? 다만 한글 매핑이 조금 아쉽구요.
  • 2015.10.21 21:56 #36668
    몇년 전에 사용하던 소스라서 아마 요즘엔 더 좋은게 나와있는거 같네요 ㅎㅎ;
  • 2015.10.30 15:37 #52678
    이게 머지...
  • 2015.11.01 04:18 #56226

    해당 키를 누르면 해당 키에 1대1 맵핑된 주소로 리다이렉트 시키는 JS입니다.
    if ( (event.keyCode=='48') || (event.keyCode=='101') ) location.replace('/eond'); /* e, 0 */
    만약 48번 or 101번 키번호의 키를 누르면 (뒤에 주석을 보아 e와 0 키인듯..) 사이트주소/eond 로 이동하게 되는거죠