테스트 사이트 - 개발 중인 베타 버전입니다

단축키 사용을 쉽게 도와주는 shortcut.js

· 17년 전 · 2515
 링크1의 글을 올릴 때 찾아보던 기능이었는데 지난 달에 찾았었습니다.
자바스크립트로 웹페이지상에 단축키를 이용해 쉽게 기능을 호출하고 싶을 때 쓰일 수 있ㅤㄱㅖㅆ죠..


vi 단축키를 웹에서도 사용할 정도 하려면 꽤 섬세한 코딩이 되어야겠지만, 한 두개의 특정 단축키만으로도 웹페이지에서 기능을 쉽게 사용하게 할 수 있을겁니다. 그런 자바스크립트 소스입니다..

라이센스: BSD 라이센스.

사이트: 키보드 단축키 핸들링

사용법1: 일반적으로 그냥 단축키를 정의하려면 이렇게 합니다.

shortcut.add("넣고 싶은 단축키 조합",function() {
    alert("Hi there!");   // 해당 단축키를 눌렀을 때 실행할 기능..
});

사용법2: 뒷부분 괄호에 설정값 파라미터들을 더 넣을 수 있습니다. 자세한 파라미터 설정은 사이트를 참조하세요..
shortcut.add("Ctrl+B",function() {
alert("The bookmarks of your browser will show up after this alert...");

},{
'type':'keydown',
'propagate':true,
'target':document
});


HTML문서에 shortcut.js를 링크시키고 위와 같이 shortcut.add... 함수정의를 해주면 단축키가 적용됩니다.

input 태그나 textarea와 같은 내용을 입력하는 곳에선 단축키가 비활성되도록 막는 기능이 추가되었네요..
아래 내용중 'disable_in_input':false 가 그 옵션의 예제입니다. 디폴트는 false이니까 굳이 안적어도 되겠구요..
{
'type':'keydown',
'propagate':false,
'disable_in_input':false,
'target':document,
'keycode':65
}
이런 식의 내용을 세번째 파라미터로 괄호에 넣어서 예제 2에서처럼 정의할 수 있는것이죠..

"넣고 싶은 단축키 조합" <- 첫번째 파라미터로  넣을 수 있는 정의할 단축키 종류는 사이트에 소개되어 있지만, 간략하게 소개하면

조합키[+조합키..]+키

예제:

Ctrl+A

조합키 이름은 아래 이름을 쓸 수 있답니다.

  • Ctrl
  • Alt
  • Shift
  • Meta
아마, Meta 키는 맥OS의 # 비슷하게 생긴 키인가 보네요..

키로 쓸 수 있는 것은
  • All alpha/numeric keys - abc...xyz,01..89
  • Special Characters - Every special character on a standard keyboard can be accessed.
  • Special Keys...
    • Tab
    • Space
    • Return
    • Enter
    • Backspace
    • Scroll_lock
    • Caps_lock
    • Num_lock
    • Pause
    • Insert
    • Home
    • Delete
    • End
    • Page_up
    • Page_down
    • Left
    • Up
    • Right
    • Down
    • F1
    • F2
    • F3
    • F4
    • F5
    • F6
    • F7
    • F8
    • F9
    • F10
    • F11
    • F12
위에 나온 이름을 첫번째 파라미터로 "Ctrl+A" 이런 방식으로 넣으면 해당 키가 눌려질 때 정의된 기능이 실행되는 것이죠..


특정 부위 이하로 단축키가 안먹게 하려면

shortcut.remove()

를 넣으면 되나보군요..

자세한 소개가 못되었지만 사이트를 잘 살펴보시면서
한 번 써먹어 보세요..
[이 게시물은 관리자님에 의해 2011-10-31 17:16:08 PHP & HTML에서 이동 됨]

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기

게시글 목록

번호 제목
8265
20403
20402
20401
20400
8259
20399
20398
8255
8249
8246
8242
20396
8240
20395
20394
31033
28385
20393
28380
20392
28377
20391
20390
20389
20388
20387
20386
20385
20384
20383
20382
8238
20380
20379
28376
28372
20378
20377
8235
20375
20374
20373
20372
20371
20370
28370
20369
28366
20368
20367
20366
20365
20364
20363
20362
20361
20360
20359
8231
20358
20357
20356
20355
20354
20353
20352
20351
20350
20349
20348
20347
20346
20345
20344
20343
20342
20341
20340
20339
20338
20337
20336
20335
20334
20333
20332
20331
20330
20329
20328
20327
20326
20325
20324
20323
20322
20321
20320
20319