Mặc dù có nhiều thư viện JavaScript hiện có, nhưng tôi không thể tìm thấy thư viện nào giúp dễ dàng thêm phím tắt (hoặc trình tăng tốc) vào ứng dụng javascript của bạn. Điều này là do phím tắt chỉ được sử dụng trong các trò chơi JavaScript - không có ứng dụng web nghiêm túc nào sử dụng phím tắt để điều hướng 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 một chức năng để thêm phím tắt vào ứ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 kịch bản này. Các sửa đổi sau đây đã được thực hiện
Tài liệu cho phiên bản cuối cùng vẫn có sẵn
Cảm ơn vì tất cả, các bạn
Thử nghiệm
Chỉ cần nhấn các kết hợp được hiển thị - nếu tập lệnh hoạt động, trạng thái sẽ thay đổi thành 'Đã gọi'. Ví dụ: nhấn phím '1'
1 Chức năng được gọi. Chưa gọi Ctrl+Chức năng. Chưa được gọiAlt+1Chức năng. Chưa gọi chức năng Shift+1. Chưa gọi hàm Ctrl+Shift+1. Chưa gọi hàm Ctrl+Alt+1. Chức năng Shift+Alt+1 chưa được gọi. ChưaCtrl+2 - Hàm Được Gọi. ChưaNếu bạn nhấp vào Liên kết 'Xóa lối tắt' trước khi nhấn Tổ hợp Ctrl + 2, chức năng KHÔNG được gọi. 3 - Với disable_in_input = true, KHÔNG nên gọi hàm này khi nhập '3' vào trường nhập liệu
Hàm được gọi. Chưa gọi4Chức năng. Chưa
Điều này sử dụng tùy chọn 'mã khóa'. Ctrl + A - Với lan truyền = trueFunction được gọi. Chưa
Nếu nhấn Ctrl+A, nó sẽ gọi hàm và sau đó truyền sự kiện tới trình duyệt - chọn văn bản
dùng thử
Tài liệu
đường tắt. thêm vào()
Đối số đầu tiên. Tổ hợp phím tắt - Chuỗi Tổ hợp phím tắt phải được chỉ định ở định dạng này. Modifier[+Modifier..]+Key. Thêm về điều này trong phần. Đối số thứ hai. Chức năng được gọi - Chức năngChỉ định chức năng tại đây. Chức năng này sẽ được gọi nếu phím tắt được nhấn. Biến sự kiện sẽ được chuyển đến nó. Đối số thứ ba[TÙY CHỌN]. Tùy chọn - Mảng kết hợpĐối số này phải là một mảng kết hợp với bất kỳ tùy chọn nào trong ba tùy chọn này
loại - StringLoại sự kiện - có thể là 'keydown','keyup','keypress'. Mặc định. 'keydown'disable_in_input - BooleanNếu điều này được đặt thành true, tính năng chụp bàn phím sẽ bị tắt trong các trường nhập và vùng văn bản. Nếu các phần tử này có tiêu điểm, phím tắt sẽ không hoạt động. Điều này rất hữu ích cho các phím tắt đơn. Mặc định. falsetarget - DOM NodeYếu tố cần được theo dõi cho sự kiện bàn phím. Mặc định. documentpropagate - BooleanCho phép sự kiện lan truyền? . falsekeycode - IntegerWatch cho mã khóa này. ví dụ. , mã khóa '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 });đường tắt. di dời()
Chỉ một đối số - tổ hợp phím tắt đã được đính kèm với hàm trước đó. Đảm bảo rằng đây chính xác là chuỗi mà bạn đã sử dụng khi thêm phím tắt
Mã ví dụ
shortcut.add("Ctrl+B",function() { alert("Bold"); }); //Remove the shortcut shortcut.remove("Ctrl+B");Phím được hỗ trợ
Các phím tắt phải được chỉ định ở định dạng này
Modifier[+Modifier..]+KeyVí dụ
Ctrl+ACác công cụ sửa đổi hợp lệ là
Bạn cũng có thể chỉ định một trình tự mà không cần sửa đổi - như thế này
shortcut.add("X",function() { alert("Hello!"); });Các khóa hợp lệ là
- Tất cả các phím alpha/số - abc. xyz,01. 89
- Ký tự đặc biệt - Có thể truy cập mọi ký tự đặc biệt trên bàn phím tiêu chuẩn
- Phím đặc biệt
- Chuyển hướng
- Không gian
- Trở lại
- Đi vào
- xóa lùi
- Scroll_lock
- Phím Caps Lock
- Num_lock
- Tạm ngừng
- Chèn
- Trang chủ
- Xóa bỏ
- Kết thúc
- Trang lên
- Trang dưới
- Bên trái
- Hướng lên
- Phải
- Xuống
- F1
- F2
- F3
- F4
- F5
- F6
- F7
- F8
- F9
- F10
- F11
- F12
Các phím này không phân biệt chữ hoa chữ thường - vì vậy đừng lo lắng về việc sử dụng đúng chữ hoa chữ thường
Thư viện này đang ở giai đoạn thử nghiệm - vì vậy mong đợi một số vấn đề. Đề xuất được chào đón
Mã số
Tải xuống các phím tắt. tập tin js
Giấy phép
Giấy phép BSD
Thư viện khác
Có một plugin jQuery có sẵn cho thư viện này - Plugin jQuery Keyboard Hooker của Tzury Bar Yochay
Nếu bạn muốn một cách dễ dàng hơn để tạo chuỗi cho phím tắt, hãy xem Mã khóa của Jonathan Tang. js