tôi muốn làm một diễn đàn bbs rằng việc sử dụng nhiều sự kiện Bàn phím,đó là Javascript thư viện Keyboard kiện tốt nhất. (Hotkeys, Shortcuts)
nên đó là thư viện sự kiện bàn phím tốt nhất,
nhờ
tôi muốn làm một diễn đàn bbs rằng việc sử dụng nhiều sự kiện Bàn phím,đó là Javascript thư viện Keyboard kiện tốt nhất. (Hotkeys, Shortcuts)
nên đó là thư viện sự kiện bàn phím tốt nhất,
nhờ
Cái này khá tốt cho jquery.
Tôi đã tải xuống tệp và kiểm tra tệp. Đó là một trường hợp ví dụ về việc sử dụng [jquery.hotkeys] (https://github.com/jeresig/jquery.hotkeys) –
@NikolaPetkanski - tôi đã cập nhật liên kết. –
Cảm ơn. Tôi đã xóa số điểm -1 của mình. –
Rất nhiều thư viện JavaScript đến đầy dẫy với cách chụp đầu vào quan trọng và sử dụng nó để lợi thế của bạn. Đó là một cược tốt mà bạn sẽ có thể tìm thấy một thư viện để làm điều đó, và không có gì khác. Tuy nhiên, tôi không có nhiều kinh nghiệm ở đó.
Tôi đã sử dụng Ext trong một thời gian và lớp KeyMap của họ thực sự dễ dàng để làm việc. Đây là một ví dụ đơn giản sử dụng nó.
new Ext.KeyMap(Ext.getDoc(), {
key: 'abc',
alt: true,
handler: function(k, e) {
var t = Ext.getCmp('tabpanel');
switch(k) {
case 65:
t.setActiveTab(0);
break;
case 66:
t.setActiveTab(1);
break;
case 67:
t.setActiveTab(2);
break;
}
},
stopEvent: true
});
Điều này có lớp, Ext.TabPanel và cho phép người dùng nhấn phím để thay đổi tab, thay vì nhấp vào tab.
Nó có thể, tất nhiên, làm được nhiều hơn thế. Đây là một ví dụ đơn giản về cách nó hoạt động.
Bạn có thể thử một này ...
-1: Đây không phải là thư viện - chỉ là một tài liệu tham khảo –
Hãy thử KeyboardJS
của nó đơn giản như
KeyboardJS.on('a', function(){ alert('hello!'); });
chưa linh hoạt như
var bindInstance = KeyboardJS.on('ctrl + a, ctrl + b, c', function(event, keysPressedArray, keyComboString){
//you get the event object
console.log('event object', event);
//you get the keys pressed array
console.log('keys pressed', keysPressedArray);
//you get the key combo string
console.log('combo pressed', keyComboString);
console.log('I will fire when \'ctrl + a\' or \'ctrl +b\' or \'c\' is pressed down');
//block event bubble
return false;
}, function(event, keysPressedArray, keyComboString) {
console.log('I will fire on key up');
//block event bubble
return false;
});
.210
bạn có thể xóa một ràng buộc bằng cách gọi
bindInstance.clear();
bạn có thể xóa tất cả với phím tắt với các phím cụ thể với
KeyboardJS.clear('a, b');
mã nguồn mở của nó và có sẵn trên Github. Nó đi kèm trong ether một thư viện toàn cầu hoặc một mô-đun AMD cho RequireJS.
Đây là số introduction video.
Ở đó, giờ hãy ngừng lo lắng về bàn phím và mã ứng dụng của bạn. ;)
Có vẻ như một tập lệnh thực sự tuyệt vời, nhưng tốt nhất tôi có thể nói nó không hoạt động trong IE8, điều đáng buồn là một vấn đề đối với tôi (ở nhiều cấp độ). Khi tôi đi đến http://robertwhurst.github.com/KeyboardJS/ với IE8, nó chỉ nói "JS là bắt buộc". –
Bản demo có thể không hoạt động trong IE nhưng thư viện nên. Nó đã làm một vài xây dựng trước đây. Bạn đã thử bản thân thư viện chưa? –
Tôi thì không. Tôi sẽ cho nó nó một cơ hội. Có tinh chỉnh mà bản demo cần thể hiện có thể xử lý tất cả các trình duyệt không? Tôi sẽ rất vui khi ngã ba và chỉnh sửa và gửi yêu cầu kéo trên trang demo. –
Chỉ một cách khác để hòa trộn. Gần đây tôi đã phát hành một cái gọi là Mousetrap. Bạn có thể xem các ví dụ tại http://craig.is/killing/mice
Cảm ơn bạn đã chia sẻ nó! –
Rất dễ thực hiện và hoạt động như một sự quyến rũ. Làm thế nào là giấy phép sử dụng nó trong các dự án thương mại? –
Nó sử dụng giấy phép Apache 2.0. – Craig
Từ những gì tôi đã thấy Mousetrap là thư viện duy nhất cho phép bạn chỉ định khóa trình tự thay vì kết hợp. Điều này đến rất tiện dụng cho ứng dụng của tôi.
Điều này tốt hơn nếu bạn bắt đầu và nếu bạn muốn hiểu cách thức hoạt động của các phím nóng.
https://github.com/UthaiahBollera/HotkeysInJavascriptLibrary
KEYPRESS là tập trung vào trận đấu đầu vào và hỗ trợ phím bất kỳ như một modifier, trong số những tính năng khác. Nó cũng là pre-packaged for Meteor.
"Tốt nhất" là tiêu chí khó phù hợp. Bạn có thể thử đưa ra một số chi tiết hơn về những gì bạn đang cố gắng hoàn thành. Bằng cách đó, chúng tôi có thể cụ thể hơn. – Stephano