diff --git a/README.md b/README.md
index 845e52d..f934184 100644
--- a/README.md
+++ b/README.md
@@ -37,13 +37,18 @@ Or manually download and link **hotkeys.js** in your HTML, It can also be downlo
```html
```
@@ -106,7 +111,7 @@ hotkeys('ctrl+r, command+r', function() {
return false;
});
-
+// SIngle key
hotkeys('a', function(event,handler){
//event.srcElement: input
//event.target: input
@@ -116,23 +121,28 @@ hotkeys('a', function(event,handler){
alert('you pressed a!')
});
-hotkeys('ctrl+a,ctrl+b,r,f', function(event,handler) {
- switch(handler.key){
- case "ctrl+a":alert('you pressed ctrl+a!');break;
- case "ctrl+b":alert('you pressed ctrl+b!');break;
- case "r":alert('you pressed r!');break;
- case "f":alert('you pressed f!');break;
- }
+// Key Combenation
+hotkeys('ctrl+a,ctrl+b,r,f', function (event, handler){
+ switch (handler.key) {
+ case 'ctrl+a': alert('you pressed ctrl+a!');
+ break;
+ case 'ctrl+b': alert('you pressed ctrl+b!');
+ break;
+ case 'r': alert('you pressed r!');
+ break;
+ case 'f': alert('you pressed f!');
+ break;
+ default: alert(event);
+ }
});
-hotkeys('ctrl+a+s', function(event,handler) {
- if(handler.key === 'ctrl+a+s') {
+hotkeys('ctrl+a+s', function() {
alert('you pressed ctrl+a+s!');
- }
});
-hotkeys('*','wcj', function(e){
- console.log('do something',e);
+// Using a scope
+hotkeys('*','wcj', function(event){
+ console.log('do something', event);
});
```
@@ -146,7 +156,7 @@ hotkeys('*','wcj', function(e){
```js
hotkeys('o, enter', {
scope: 'wcj',
- element: document.getElementById('warpper'),
+ element: document.getElementById('wrapper'),
}, function(){
console.log('do something else');
});
@@ -159,23 +169,43 @@ Asterisk "*"
Modifier key judgments
```js
-hotkeys('*', function(e){
- if(hotkeys.shift) console.log('shift is pressed!');
- if(hotkeys.ctrl) console.log('ctrl is pressed!');
- if(hotkeys.alt) console.log('alt is pressed!');
- if(hotkeys.option) console.log('option is pressed!');
- if(hotkeys.control) console.log('control is pressed!');
- if(hotkeys.cmd) console.log('cmd is pressed!');
- if(hotkeys.command) console.log('command is pressed!');
+hotkeys('*', function() {
+ if (hotkeys.shift) {
+ console.log('shift is pressed!');
+ }
+
+ if (hotkeys.ctrl) {
+ console.log('ctrl is pressed!');
+ }
+
+ if (hotkeys.alt) {
+ console.log('alt is pressed!');
+ }
+
+ if (hotkeys.option) {
+ console.log('option is pressed!');
+ }
+
+ if (hotkeys.control) {
+ console.log('control is pressed!');
+ }
+
+ if (hotkeys.cmd) {
+ console.log('cmd is pressed!');
+ }
+
+ if (hotkeys.command) {
+ console.log('command is pressed!');
+ }
});
```
### setScope
-Use the `hotkeys.setScope` method to set scope.
+Use the `hotkeys.setScope` method to set scope. There can only be one active scope besides 'all'. By default 'all' is always active.
```js
-// define shortcuts with a scope
+// Define shortcuts with a scope
hotkeys('ctrl+o, ctrl+alt+enter', 'issues', function(){
console.log('do something');
});
@@ -183,7 +213,7 @@ hotkeys('o, enter', 'files', function(){
console.log('do something else');
});
-// set the scope (only 'all' and 'issues' shortcuts will be honored)
+// Set the scope (only 'all' and 'issues' shortcuts will be honored)
hotkeys.setScope('issues'); // default scope is 'all'
```
@@ -197,7 +227,7 @@ hotkeys.getScope();
### deleteScope
-Use the `hotkeys.deleteScope` method to delete set scope.
+Use the `hotkeys.deleteScope` method to delete a scope. This will also remove all associated hotkeys with it.
```js
hotkeys.deleteScope('issues');
@@ -211,8 +241,8 @@ Similar to defining shortcuts, they can be unbound using `hotkeys.unbind`.
// unbind 'a' handler
hotkeys.unbind('a');
-// unbind a hotkeys only for a single scope
-// when no scope is specified it defaults to the current scope (hotkeys.getScope())
+// Unbind a hotkeys only for a single scope
+// If no scope is specified it defaults to the current scope (hotkeys.getScope())
hotkeys.unbind('o, enter', 'issues');
hotkeys.unbind('o, enter', 'files');
```
@@ -220,23 +250,24 @@ hotkeys.unbind('o, enter', 'files');
Unbind events through functions.
```js
-function example(){}
-hotkeys('a', example);
-hotkeys.unbind('a', example);
+function example() {
+ hotkeys('a', example);
+ hotkeys.unbind('a', example);
-hotkeys('a', 'issues', example);
-hotkeys.unbind('a', 'issues', example);
+ hotkeys('a', 'issues', example);
+ hotkeys.unbind('a', 'issues', example);
+}
```
### isPressed
-Other key queries. For example, `hotkeys.isPressed(77)` is true if the `M` key is currently pressed.
+For example, `hotkeys.isPressed(77)` is true if the `M` key is currently pressed.
```js
-hotkeys('a', function(){
- console.log(hotkeys.isPressed("a")); //=> true
- console.log(hotkeys.isPressed("A")); //=> true
- console.log(hotkeys.isPressed(65)); //=> true
+hotkeys('a', function() {
+ console.log(hotkeys.isPressed('a')); //=> true
+ console.log(hotkeys.isPressed('A')); //=> true
+ console.log(hotkeys.isPressed(65)); //=> true
});
```
@@ -245,19 +276,20 @@ hotkeys('a', function(){
**key down** and **key up** both perform callback events.
```js
-hotkeys('ctrl+a,alt+a+s', { keyup: true }, (evn, handler) => {
- if(evn.type === 'keydown') {
- console.log('keydown:', evn.type, handler, handler.key);
- }
- if(evn.type === 'keyup') {
- console.log('keyup:', evn.type, handler, handler.key);
- }
+hotkeys('ctrl+a,alt+a+s', {keyup: true}, function(event, handler) {
+ if (event.type === 'keydown') {
+ console.log('keydown:', event.type, handler, handler.key);
+ }
+
+ if (event.type === 'keyup') {
+ console.log('keyup:', event.type, handler, handler.key);
+ }
});
```
### getPressedKeyCodes
-returns an array of key codes currently pressed.
+Returns an array of key codes currently pressed.
```js
hotkeys('command+ctrl+shift+a,f', function(){
@@ -267,7 +299,7 @@ hotkeys('command+ctrl+shift+a,f', function(){
### filter
-`INPUT` `SELECT` `TEXTAREA` default does not handle.
+By default hotkeys are not enabled for `INPUT` `SELECT` `TEXTAREA` elements.
`Hotkeys.filter` to return to the `true` shortcut keys set to play a role, `false` shortcut keys set up failure.
```js