增加对指定节点的设置
parent
0d908d0592
commit
b1b60bee67
20
Readme.md
20
Readme.md
|
@ -1,6 +1,6 @@
|
||||||
## JS键盘热键
|
## JS键盘热键
|
||||||
> 支持各种按钮组合。原生js开发, 无任何依赖(不到`2KB`)。使用也非常简单。
|
> 支持各种按钮组合。原生js开发, 无任何依赖(不到`2KB`)。使用也非常简单。
|
||||||
>> 1.0版 功能键(Shift, Ctrl, Alt/Option, Win/Cmd)不区分左右。
|
>> 1.x版 功能键(Shift, Ctrl, Alt/Option, Win/Cmd)不区分左右。
|
||||||
|
|
||||||
|
|
||||||
![keyboard](./keyboard.jpg)
|
![keyboard](./keyboard.jpg)
|
||||||
|
@ -13,6 +13,8 @@
|
||||||
import Keyboard from 'http://unpkg.bytedo.org/@bytedo/keyboard/dist/index.js'
|
import Keyboard from 'http://unpkg.bytedo.org/@bytedo/keyboard/dist/index.js'
|
||||||
|
|
||||||
var kb = new Keyboard()
|
var kb = new Keyboard()
|
||||||
|
// 默认整个document监听, 也可以单独对局部起效
|
||||||
|
// var kb = new Keyboard(document.querySelector('.foo'))
|
||||||
|
|
||||||
// 同时按Ctrl键和C键, 触发回调
|
// 同时按Ctrl键和C键, 触发回调
|
||||||
kb.on(['ctrl + c'], ev => {
|
kb.on(['ctrl + c'], ev => {
|
||||||
|
@ -101,18 +103,18 @@ kb.on(['ctrl + c', 'ctrl + v'], ev => {
|
||||||
| Numlock | numlock | 数字键锁定键(87键以下的键盘没有) |
|
| Numlock | numlock | 数字键锁定键(87键以下的键盘没有) |
|
||||||
| Backspace | backspace | 回退键(=号键右边那个) |
|
| Backspace | backspace | 回退键(=号键右边那个) |
|
||||||
| Tab | tab | 制表符键 |
|
| Tab | tab | 制表符键 |
|
||||||
| Cmd/Win | meta | Command/Win键(1.0版不区别左右) |
|
| Cmd/Win | meta | Command/Win键(1.x版不区别左右) |
|
||||||
| Space | space | 空格键 |
|
| Space | space | 空格键 |
|
||||||
| Ctrl | ctrl | Ctrl键(1.0版不区分左右) |
|
| Ctrl | ctrl | Ctrl键(1.x版不区分左右) |
|
||||||
| Shift | shift | Shift键(1.0版不区分左右) |
|
| Shift | shift | Shift键(1.x版不区分左右) |
|
||||||
| Alt/Option| alt | Alt/Option键(1.0版不区分左右) |
|
| Alt/Option| alt | Alt/Option键(1.x版不区分左右) |
|
||||||
| Enter | enter | 回车键(1.0版不区分小数字键盘的回车) |
|
| Enter | enter | 回车键(1.x版不区分小数字键盘的回车) |
|
||||||
| ' | ' | 单引号键 |
|
| ' | ' | 单引号键 |
|
||||||
| * | * | 小数字键盘中的乘号 |
|
| * | * | 小数字键盘中的乘号 |
|
||||||
| + | + | 小数字键盘中的加号 |
|
| + | + | 小数字键盘中的加号 |
|
||||||
| - | - | 小数字键盘中的减号;及主键盘中的减号 (1.0版不区分) |
|
| - | - | 小数字键盘中的减号;及主键盘中的减号 (1.x版不区分) |
|
||||||
| / | / | 小数字键盘中的除号;及主键盘中的斜杠 (1.0版不区分) |
|
| / | / | 小数字键盘中的除号;及主键盘中的斜杠 (1.x版不区分) |
|
||||||
| 。 | . | 小数字键盘中的小数点;及主键盘中的句号 (1.0版不区分) |
|
| 。 | . | 小数字键盘中的小数点;及主键盘中的句号 (1.x版不区分) |
|
||||||
| , | , | 逗号 |
|
| , | , | 逗号 |
|
||||||
| ; | ; | 分号 |
|
| ; | ; | 分号 |
|
||||||
| = | = | 等号 |
|
| = | = | 等号 |
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "@bytedo/keyboard",
|
"name": "@bytedo/keyboard",
|
||||||
"version": "1.0.0",
|
"version": "1.1.0",
|
||||||
"description": "支持各种按钮组合。原生js开发, 无任何依赖(不到2KB)。使用也非常简单。",
|
"description": "支持各种按钮组合。原生js开发, 无任何依赖(不到2KB)。使用也非常简单。",
|
||||||
"main": "dist/index.js",
|
"main": "dist/index.js",
|
||||||
"repository": {
|
"repository": {
|
||||||
|
|
|
@ -6,13 +6,13 @@
|
||||||
|
|
||||||
import { KEY_DICT, MULTI_KEYS, MULTI_KEY_CODES } from './key.dict.js'
|
import { KEY_DICT, MULTI_KEYS, MULTI_KEY_CODES } from './key.dict.js'
|
||||||
|
|
||||||
function bind(fn) {
|
function bind(el, fn) {
|
||||||
document.addEventListener('keydown', fn, false)
|
;(el || document).addEventListener('keydown', fn, false)
|
||||||
return fn
|
return fn
|
||||||
}
|
}
|
||||||
|
|
||||||
function unbind(fn) {
|
function unbind(el, fn) {
|
||||||
document.removeEventListener('keydown', fn, false)
|
;(el || document).removeEventListener('keydown', fn, false)
|
||||||
}
|
}
|
||||||
|
|
||||||
function hide(target, name, value) {
|
function hide(target, name, value) {
|
||||||
|
@ -44,13 +44,15 @@ function check(ev) {
|
||||||
}
|
}
|
||||||
|
|
||||||
export default class Keyboard {
|
export default class Keyboard {
|
||||||
constructor() {
|
constructor(elem) {
|
||||||
|
console.log(elem)
|
||||||
|
this.$elem = elem
|
||||||
hide(this, '__EVENTS__', {})
|
hide(this, '__EVENTS__', {})
|
||||||
|
|
||||||
hide(
|
hide(
|
||||||
this,
|
this,
|
||||||
'_keydown',
|
'_keydown',
|
||||||
bind(ev => {
|
bind(elem, ev => {
|
||||||
if (MULTI_KEY_CODES.includes(ev.keyCode)) {
|
if (MULTI_KEY_CODES.includes(ev.keyCode)) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
@ -106,7 +108,7 @@ export default class Keyboard {
|
||||||
}
|
}
|
||||||
|
|
||||||
destroy() {
|
destroy() {
|
||||||
unbind(this._keydown)
|
unbind(this.$elem, this._keydown)
|
||||||
delete this.__EVENTS__
|
delete this.__EVENTS__
|
||||||
delete this._keydown
|
delete this._keydown
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue