diff --git a/dist/hotkeys.common.js b/dist/hotkeys.common.js
index 0bec3a9..e8f3d92 100644
--- a/dist/hotkeys.common.js
+++ b/dist/hotkeys.common.js
@@ -9,8 +9,9 @@
'use strict';
-var isff = typeof navigator !== 'undefined' ? navigator.userAgent.toLowerCase().indexOf('firefox') > 0 : false; // 绑定事件
+var isff = typeof navigator !== 'undefined' ? navigator.userAgent.toLowerCase().indexOf('firefox') > 0 : false;
+// 绑定事件
function addEvent(object, event, method, useCapture) {
if (object.addEventListener) {
object.addEventListener(event, method, useCapture);
@@ -19,50 +20,43 @@ function addEvent(object, event, method, useCapture) {
method(window.event);
});
}
-} // 修饰键转换成对应的键码
-
+}
+// 修饰键转换成对应的键码
function getMods(modifier, key) {
var mods = key.slice(0, key.length - 1);
-
- for (var i = 0; i < mods.length; i++) {
- mods[i] = modifier[mods[i].toLowerCase()];
- }
-
+ for (var i = 0; i < mods.length; i++) mods[i] = modifier[mods[i].toLowerCase()];
return mods;
-} // 处理传的key字符串转换成数组
-
+}
+// 处理传的key字符串转换成数组
function getKeys(key) {
if (typeof key !== 'string') key = '';
key = key.replace(/\s/g, ''); // 匹配任何空白字符,包括空格、制表符、换页符等等
-
var keys = key.split(','); // 同时设置多个快捷键,以','分割
+ var index = keys.lastIndexOf('');
- var index = keys.lastIndexOf(''); // 快捷键可能包含',',需特殊处理
-
+ // 快捷键可能包含',',需特殊处理
for (; index >= 0;) {
keys[index - 1] += ',';
keys.splice(index, 1);
index = keys.lastIndexOf('');
}
-
return keys;
-} // 比较修饰键的数组
-
+}
+// 比较修饰键的数组
function compareArray(a1, a2) {
var arr1 = a1.length >= a2.length ? a1 : a2;
var arr2 = a1.length >= a2.length ? a2 : a1;
var isIndex = true;
-
for (var i = 0; i < arr1.length; i++) {
if (arr2.indexOf(arr1[i]) === -1) isIndex = false;
}
-
return isIndex;
}
+// Special Keys
var _keyMap = {
backspace: 8,
'⌫': 8,
@@ -115,8 +109,9 @@ var _keyMap = {
'[': 219,
']': 221,
'\\': 220
-}; // Modifier Keys
+};
+// Modifier Keys
var _modifier = {
// shiftKey
'⇧': 16,
@@ -150,130 +145,116 @@ var _mods = {
17: false,
91: false
};
-var _handlers = {}; // F1~F12 special key
+var _handlers = {};
+// F1~F12 special key
for (var k = 1; k < 20; k++) {
_keyMap["f".concat(k)] = 111 + k;
}
var _downKeys = []; // 记录摁下的绑定键
-
var winListendFocus = false; // window是否已经监听了focus事件
-
var _scope = 'all'; // 默认热键范围
-
var elementHasBindEvent = []; // 已绑定事件的节点记录
-// 返回键码
+// 返回键码
var code = function code(x) {
return _keyMap[x.toLowerCase()] || _modifier[x.toLowerCase()] || x.toUpperCase().charCodeAt(0);
};
-
var getKey = function getKey(x) {
return Object.keys(_keyMap).find(function (k) {
return _keyMap[k] === x;
});
};
-
var getModifier = function getModifier(x) {
return Object.keys(_modifier).find(function (k) {
return _modifier[k] === x;
});
-}; // 设置获取当前范围(默认为'所有')
-
+};
+// 设置获取当前范围(默认为'所有')
function setScope(scope) {
_scope = scope || 'all';
-} // 获取当前范围
-
-
+}
+// 获取当前范围
function getScope() {
return _scope || 'all';
-} // 获取摁下绑定键的键值
-
-
+}
+// 获取摁下绑定键的键值
function getPressedKeyCodes() {
return _downKeys.slice(0);
}
-
function getPressedKeyString() {
return _downKeys.map(function (c) {
return getKey(c) || getModifier(c) || String.fromCharCode(c);
});
-} // 表单控件控件判断 返回 Boolean
-// hotkey is effective only when filter return true
-
+}
+// 表单控件控件判断 返回 Boolean
+// hotkey is effective only when filter return true
function filter(event) {
var target = event.target || event.srcElement;
var tagName = target.tagName;
- var flag = true; // ignore: isContentEditable === 'true', and