아래는 예제입니다.

 

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;

이온디

profile
이온디는 라이믹스를 비롯한 다양한 CMS의 시드뱅크를 꿈꿉니다. 여러분들이 사랑하는 웹소스를 언제든지 사용할 수 있게 하기 위해 이온디는 매일 소스코드를 유지보수하고 있으며, 언제든지 다운로드할 수 있는 소스마켓을 운영하고 있습니다.

#XE마켓 - 이온디스토어
https://eond.com/xemarket/

# XE/라이믹스 단톡방을 운영 중입니다. (비번: 2022)
https://open.kakao.com/o/giaKKnl

# XE/라이믹스 생활코딩 모듈 강좌입니다.
https://opentutorials.org/module/3774
  • profile
    좋긴 한데, 키코드로만 탐지하면 간혹 키 레이아웃이 달라지거나 하는 경우가 잦아 라이브러리를 쓰는 편이 좋습니다. 이곳 XE타운 글/댓글작성 단축키도 MouseTrap 이라는 라이브러리 기반입니다. 라이브러리의 장점은, 운영체제별/브라우저별 키코드 매핑이 되어 있어 코드가 훨씬 깔끔해진다는 점? 다만 한글 매핑이 조금 아쉽구요.
  • profile profile
    몇년 전에 사용하던 소스라서 아마 요즘엔 더 좋은게 나와있는거 같네요 ㅎㅎ;
  • ?
    이게 머지...
  • ? profile

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