From cc4aa9f1f4cd26e8b07d49664b158f1cf8ecaa2f Mon Sep 17 00:00:00 2001 From: jaywcjlove <398188662@qq.com> Date: Sun, 10 Sep 2017 19:18:16 +0800 Subject: [PATCH] Code formatting. --- src/hotkeys.js | 117 ++++++++++++++++++++++++------------------------- 1 file changed, 58 insertions(+), 59 deletions(-) diff --git a/src/hotkeys.js b/src/hotkeys.js index 60acfdf..31e86e2 100644 --- a/src/hotkeys.js +++ b/src/hotkeys.js @@ -17,38 +17,38 @@ if (!Array.prototype.lastIndexOf) { } var _api, // 对外API - isff = navigator.userAgent.toLowerCase().indexOf('firefox') > 0, - _keyMap = { // 特殊键 - backspace: 8, tab: 9, clear: 12, - enter: 13, 'return': 13, - esc: 27, escape: 27, space: 32, - left: 37, up: 38, right: 39, down: 40, - del: 46, 'delete': 46, - home: 36, end: 35, - pageup: 33, pagedown: 34,'⇪': 20,'capslock': 20, - ',': 188, '.': 190, '/': 191, - '`': 192, '-': isff?173:189, '=': isff?61:187, - ';': isff?59:186, '\'': 222, - '[': 219, ']': 221, '\\': 220 - }, - _scope = 'all', //默认热键范围 - _modifier = { //修饰键 - '⇧': 16, shift: 16, - '⌥': 18, alt: 18, option: 18, - '⌃': 17, ctrl: 17, control: 17, - '⌘': isff?224:91, cmd: isff?224:91, command: isff?224:91 - }, - _downKeys=[], // 记录摁下的绑定键 - modifierMap = { - 16:'shiftKey', - 18:'altKey', - 17:'ctrlKey' - }, - _mods = { 16: false, 18: false, 17: false}, - _handlers={}; + isff = navigator.userAgent.toLowerCase().indexOf('firefox') > 0, + _keyMap = { // 特殊键 + backspace: 8, tab: 9, clear: 12, + enter: 13, 'return': 13, + esc: 27, escape: 27, space: 32, + left: 37, up: 38, right: 39, down: 40, + del: 46, 'delete': 46, + home: 36, end: 35, + pageup: 33, pagedown: 34, '⇪': 20, 'capslock': 20, + ',': 188, '.': 190, '/': 191, + '`': 192, '-': isff ? 173 : 189, '=': isff ? 61 : 187, + ';': isff ? 59 : 186, '\'': 222, + '[': 219, ']': 221, '\\': 220 + }, + _scope = 'all', //默认热键范围 + _modifier = { //修饰键 + '⇧': 16, shift: 16, + '⌥': 18, alt: 18, option: 18, + '⌃': 17, ctrl: 17, control: 17, + '⌘': isff ? 224 : 91, cmd: isff ? 224 : 91, command: isff ? 224 : 91 + }, + _downKeys = [], // 记录摁下的绑定键 + modifierMap = { + 16: 'shiftKey', + 18: 'altKey', + 17: 'ctrlKey' + }, + _mods = { 16: false, 18: false, 17: false }, + _handlers = {}; // F1~F12 特殊键 -for (var k=1; k<20; k++) { +for (var k = 1; k < 20; k++) { _keyMap['f' + k] = 111 + k; } @@ -67,16 +67,16 @@ function getScope() { return _scope || 'all'; } // 绑定事件 function addEvent(object, event, method) { - if (object.addEventListener){ + if (object.addEventListener) { object.addEventListener(event, method, false); - } else if (object.attachEvent){ - object.attachEvent('on'+event, function(){ method(window.event); }); + } else if (object.attachEvent) { + object.attachEvent('on' + event, function () { method(window.event); }); } } // 判断摁下的键是否为某个键,返回true或者false function isPressed(keyCode) { - if (typeof(keyCode) === 'string'){ + if (typeof (keyCode) === 'string') { keyCode = code(keyCode); // 转换成键码 } @@ -105,7 +105,7 @@ function dispatch(event) { // 将特殊字符的key注册到 hotkeys 上 for (var k in _modifier) if (_modifier[k] === key) hotkeys[k] = true; - if(!asterisk) return; + if (!asterisk) return; } // 将modifierMap里面的修饰键绑定到event中 @@ -155,7 +155,7 @@ function eventHandler(event, handler, scope) { modifiersMatch || handler.shortcut === '*' ) { - if(handler.method(event, handler) === false){ + if (handler.method(event, handler) === false) { if (event.preventDefault) event.preventDefault(); else event.returnValue = false; if (event.stopPropagation) event.stopPropagation(); @@ -166,11 +166,11 @@ function eventHandler(event, handler, scope) { } // 解除绑定某个范围的快捷键 -function unbind (key, scope) { +function unbind(key, scope) { var multipleKeys = getKeys(key), - keys, - mods = [], - obj; + keys, + mods = [], + obj; for (var i = 0; i < multipleKeys.length; i++) { // 将组合快捷键拆分为数组 @@ -184,7 +184,7 @@ function unbind (key, scope) { key = key === '*' ? '*' : code(key); // 判断是否传入范围,没有就获取范围 - if(!scope) scope = getScope(); + if (!scope) scope = getScope(); // 如何key不在 _handlers 中返回不做处理 if (!_handlers[key]) return; @@ -204,10 +204,10 @@ function unbind (key, scope) { } // 循环删除handlers中的所有 scope(范围) -function deleteScope(scope, newScope){ +function deleteScope(scope, newScope) { var key, - handlers, - i; + handlers, + i; // 没有指定scope,获取scope if (!scope) scope = getScope(); @@ -215,7 +215,7 @@ function deleteScope(scope, newScope){ for (key in _handlers) { handlers = _handlers[key]; - for (i = 0; i < handlers.length; ) { + for (i = 0; i < handlers.length;) { if (handlers[i].scope === scope) handlers.splice(i, 1); else i++; } @@ -246,7 +246,7 @@ function filter(event) { } // 修饰键转换成对应的键码 -function getMods (key) { +function getMods(key) { var mods = key.slice(0, key.length - 1); for (var i = 0; i < mods.length; i++) mods[i] = _modifier[mods[i].toLowerCase()]; @@ -257,7 +257,7 @@ function getMods (key) { // 处理传的key字符串转换成数组 function getKeys(key) { if (!key) key = ''; - var keys,index; + var keys, index; key = key.replace(/\s/g, ''); // 匹配任何空白字符,包括空格、制表符、换页符等等 keys = key.split(','); // 同时设置多个快捷键,以','分割 @@ -274,11 +274,11 @@ function getKeys(key) { } // 在全局document上设置快捷键 -addEvent(document, 'keydown', function(event) { +addEvent(document, 'keydown', function (event) { dispatch(event); }); -addEvent(document, 'keyup',function(event){ +addEvent(document, 'keyup', function (event) { clearModifier(event); }); @@ -288,30 +288,29 @@ function clearModifier(event) { i = _downKeys.indexOf(key); // 从列表中清除按压过的键 - if(i >= 0) _downKeys.splice(i,1); + if (i >= 0) _downKeys.splice(i, 1); // 修饰键 shiftKey altKey ctrlKey (command||metaKey) 清除 - if(key === 93 || key === 224) key = 91; - if(key in _mods) { + if (key === 93 || key === 224) key = 91; + if (key in _mods) { _mods[key] = false; // 将修饰键重置为false - for(var k in _modifier) if (_modifier[k] === key) hotkeys[k] = false; + for (var k in _modifier) if (_modifier[k] === key) hotkeys[k] = false; } } // 主体hotkeys函数 -function hotkeys(key, scope, method){ +function hotkeys(key, scope, method) { var keys = getKeys(key), // 需要处理的快捷键列表 - mods = [], - i = 0; + mods = [], + i = 0; // 对为设定范围的判断 if (method === undefined) { method = scope; scope = 'all'; // scope默认为all,所有范围都有效 } - // 对于每个快捷键进行处理 for (; i < keys.length; i++) { key = keys[i].split('+'); // 按键列表 @@ -351,8 +350,8 @@ for (var a in _api) hotkeys[a] = _api[a]; var _hotkeys = window.hotkeys -hotkeys.noConflict = function( deep ) { - if ( deep && window.hotkeys === hotkeys ) { +hotkeys.noConflict = function (deep) { + if (deep && window.hotkeys === hotkeys) { window.hotkeys = _hotkeys; }