Handling Keyboard Shortcuts in JavaScript

Original Link: http://openjs.com/scripts/events/keyboard_shortcuts/

 

Xử lý phím tắt trong JavaScript

 

Mặc dù có nhiều thư viện JavaScript khả dụng ngày nay, tôi không thể tìm thấy cách nào có thể giúp bạn dễ dàng để thêm các phím tắt bàn phím (hoặc phím  gia tốc) để ứng dụng cho javascript của bạn. Điều này là do các phím tắt bàn phím khi chỉ được sử dụng trong các trò chơi JavaScript – không có ứng dụng trên web một cách nghiêm túc sử dụng các phím tắt bàn phím để di chuyển xung quanh giao diện của nó. Nhưng các ứng dụng của Google như Google Reader và Gmail thay đổi điều đó. Vì vậy, tôi đã tạo ra một chức năng để thực hiện thêm các phím tắt cho ứng dụng của bạn dễ dàng hơn nhiều.

 

Cập nhật

 

Đây là phiên bản thứ hai của tập lệnh này. Các sửa đổi sau đây đã được thực hiện …

 

 

Cảm ơn các bạn cho tất cả các ý kiến đóng góp

 

Bản thử nghiệm

 

Chỉ cần nhấn tổ hợp chứng minh – nếu tập lệnh bản mã làm việc, status sẽ được thay đổi thành ”Called’. Ví dụ, bấm phím “1” … (not yet: chưa hoạt động)

 

1

Function Called : Not Yet

Ctrl+1

Function Called : Not Yet

Alt+1

Function Called : Not Yet

Shift+1

Function Called : Not Yet

Ctrl+Shift+1

Function Called : Not Yet

Ctrl+Alt+1

Function Called : Not Yet

Shift+Alt+1

Function Called : Not Yet

Ctrl+2 – Remove Shortcut

Function Called : Not Yet

Nếu bạn nhấp vào liên kết  ‘Remove Shortcut’ (loại bỏ phím tắt) trước khi nhấn Ctrl + 2 Kết hợp, hàm chức năng KHÔNG nên được gọi.

 

3 – With disable_in_input = true

Các chức năng KHÔNG nên được gọi là khi gõ ‘3’ trong trường đầu vào

Function Called : Not Yet

4

Function Called : Not Yet

Hàm này sử dụng tùy chọn ‘keycode’.

Ctrl+A – With propagate = true

Function Called : Not Yet

Nếu Ctrl + A được kích hoạt, nó sẽ gọi hàm và sau đó tuyên truyền các sự kiện để trình duyệt – chọn văn bản.

 

Hãy thử xem

(nhập mục tại trang chính của tác giả)

Untitled.png

Tài liệu

 

 

shortcut.add()

 

Đối số đầu tiên: Kết hợp khóa Phím tắt – String

Các tổ hợp phím tắt cần được xác định trong định dạng này … Modifier[+Modifier..]+Key. Tìm hiểu nhiều hơn thông tin về điều này trong phần phím được hỗ trợ.

Đối số thứ hai: Hàm chức năng được gọi – fuction

Xác định các chức năng ở đây. Chức năng này sẽ được gọi nếu các phím tắt được kích hoạt. Các biến sự kiện sẽ được truyền cho nó.

Đối số thứ ba [Optional]: Tùy chọn – Associative Array

Lập luận này phải là một mảng kết hợp với bất kỳ của ba tùy chọn trên …

type -String

Loại sự kiện – có thể được ‘KeyDown’, ‘KeyUp’, ‘bấm phím’. Mặc định: ‘KeyDown’

disable_in_input – Boolean

Nếu điều này được thiết lập là đúng, chụp bàn phím sẽ bị vô hiệu hóa trong các lĩnh vực đầu vào và textarea. Nếu những yếu tố này có trọng tâm, các phím tắt bàn phím sẽ không hoạt động. Điều này là rất hữu ích cho các phím tắt duy nhất. Mặc định: false

target – DOM Node

Các yếu tố đó phải được theo dõi cho các sự kiện bàn phím. Mặc định: tài liệu

propagate – Boolean

Cho phép sự kiện để tuyên truyền? Mặc định: false

keycode – Integer

Theo dõi các mã khoá này. Cho ví dụ., Mã phím ’65’ là ‘a’.

 

Ví dụ

 

{
‘type’:’keydown’,
‘propagate’:false,
‘disable_in_input’:true,
‘target’:document,
‘keycode’:65
}

 

Mã ví dụ

 

shortcut.add(“Ctrl+B”,function() {
alert(“The bookmarks of your browser will show up after this alert…”);
},{
‘type’:’keydown’,
‘propagate’:true,
‘target’:document
});

 

shortcut.remove()

Chỉ cần một đối số – sự kết hợp phím tắt đã được gắn liền với một chức năng trước đó. Hãy chắc chắn rằng điều này là chính xác cùng một chuỗi mà bạn sử dụng trong khi thêm các phím tắt.

Mã ví dụ

shortcut.add(“Ctrl+B”,function() {
alert(“Bold”);
});
//Remove the shortcut
shortcut.remove(“Ctrl+B”);

 

Các khóa hỗ trợ

 

Các phím tắt cần được xác định trong định dạng này …

 

Modifier [+ Modifier ..] + Key

Thí dụ…

 

Ctrl + A

Các cục điều chỉnh hợp lệ là

 

Ctrl

Alt

Shitf

Meta

Bạn có thể chỉ định một chuỗi mà không có một sửa đổi cũng – như thế này …

 

shortcut.add(“X”,function() {
alert(“Hello!”);
});

 

Các phím hợp lệ là …

 

  • Tất cả alpha / phím số – abc … xyz, 01..89
  • Các ký tự đặc biệt – Mỗi ký tự đặc biệt trên một bàn phím tiêu chuẩn có thể được truy cập.
  • Phím đặc biệt …
    • 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

 

Các khóa là phân biệt dạng chữ – vì vậy đừng lo lắng về việc sử dụng đúng trường hợp.

 

Thư viện này là trong phiên bản beta – vì vậy mong đợi một số vấn đề. Gợi ý được hoan nghênh.

 

 

Tải file shortcuts.js.

 

giấy phép

 

Giấy phép BSD

 

Các thư viện khác

 

Có một plugin jQuery có sẵn cho thư viện này – jQuery Keyboard Hooker Plugin bởi Tzury Bar Yochay

 

Nếu bạn muốn một cách dễ dàng hơn để tạo ra các chuỗi cho các phím tắt, hãy xem tại Keycode.js  bởi Jonathan Tang.

 

Liên kết liên quan

 

blog ý kiến được cung cấp bởi Disqus

 

Advertisements