blear.classes.hotkey

1Introduction

2Example

var Hotkey = require('blear.classes.hotkey');
var ht = new Hotkey();

ht.bind('ctrl + b', function(ev, shortcut) {
    // 当按下 Ctrl + B 的时候触发
});

3Static

3.1.defaults

  • 类型:Object
  • 说明:默认配置

3.1.1.defaults.el

  • 类型:String | Element
  • 说明:监听的元素
  • 默认:document

3.1.2.defaults.keyEvent

  • 类型:String
  • 说明:键盘事件名称
  • 默认:keydown

3.2.mac

  • 类型:Boolean
  • 说明:返回当前键盘类型是否为 mac 键盘

3.3.normalize(shortcut): keyPath

标准化快捷键为键程。

Hotkey.normalize('ctrl + z');
// => "control+z"
Hotkey.normalize('ctrl + alt + shift + meta + z');
// => "alt+control+meta+shift+z"

3.3.1shortcut

  • 类型:String
  • 说明:快捷键

3.3.2keyPath

  • 类型:String
  • 说明:键程

4new Hotkey(options)

实例化一个热键监听器,options 为入参,默认值为 .defaults

热键组合如下:

  • 辅助键
    • alt
    • ctrl / control
    • shift
    • meta
  • 普通键
    • backspace
    • tab
    • enter
    • pause
    • capslock
    • esc
    • spacebar
    • pageup
    • pagedown
    • end
    • home
    • left
    • up
    • right
    • down
    • insert
    • del
    • 0 - 9
    • a - z
    • 0 - 9(小键盘)
    • multiply
    • add
    • subtract
    • decimal
    • divide
    • f1 - f24
    • ;
    • =
    • ,
    • .
    • /
    • ~
    • [
    • \\
    • ]
    • '

5Prototype

5.1#bind(shortcut, listener(ev, keyPath))

添加热键绑定。

5.1.1shortcut

  • 类型:String
  • 说明:热键名称

5.1.2listener

  • 类型:Function
  • 说明:回调

5.1.3listener: this

  • 类型:Hotkey
  • 说明:Hotkey 实例

5.1.4listener: ev

  • 类型:KeyboardEvent
  • 说明:键盘事件

5.1.5listener: keyPath

  • 类型:String
  • 说明:序列化之后的键程

5.2#unbind(shortcut, listener)

解除热键绑定。

  • 0 个参数:解除所有热键绑定。
  • 1 个参数:解除指定热键绑定。
  • 2 个参数:解除指定热键余指定回调的绑定。

5.2.1shortcut

  • 类型:String
  • 说明:热键名称
  • 默认:空

5.2.2listener

  • 类型:Function
  • 说明:回调
  • 默认:空

5.3#destroy()

销毁实例。

6Events

6.1hotkey(ev, keyPath)

6.1.1listener: ev

  • 类型:KeyboardEvent
  • 说明:键盘事件

6.1.2listener: keyPath

  • 类型:String
  • 说明:序列化之后的键程

7Dependencies

8Reference