Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
3 changed files
with
54 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
# Bind Dictionary | ||
|
||
This extension overwrites the default bind behavior and allows you to bind multiple combinations in a single bind call. | ||
|
||
Usage looks like: | ||
|
||
```javascript | ||
Mousetrap.bind({ | ||
'a': function() { console.log('a'); }, | ||
'b': function() { console.log('b'); } | ||
}); | ||
``` | ||
|
||
You can optionally pass in ``keypress``, ``keydown`` or ``keyup`` as a second argument. | ||
|
||
Other bind calls work the same way as they do by default. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,37 @@ | ||
/** | ||
* Overwrites default Mousetrap.bind method to optionally accept | ||
* an object to bind multiple key events in a single call | ||
* | ||
* You can pass it in like: | ||
* | ||
* Mousetrap.bind({ | ||
* 'a': function() { console.log('a'); }, | ||
* 'b': function() { console.log('b'); } | ||
* }); | ||
* | ||
* And can optionally pass in 'keypress', 'keydown', or 'keyup' | ||
* as a second argument | ||
*/ | ||
Mousetrap = (function(Mousetrap) { | ||
var self = Mousetrap, | ||
_oldBind = self.bind, | ||
args; | ||
|
||
self.bind = function() { | ||
args = arguments; | ||
|
||
// normal call | ||
if (typeof args[0] == 'string' || args[0] instanceof Array) { | ||
return _oldBind(args[0], args[1], args[2]); | ||
} | ||
|
||
// object passed in | ||
for (var key in args[0]) { | ||
if (args[0].hasOwnProperty(key)) { | ||
_oldBind(key, args[0][key], args[1]); | ||
} | ||
} | ||
}; | ||
|
||
return self; | ||
}) (Mousetrap); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
Mousetrap=function(b){var c=b.bind,a;b.bind=function(){a=arguments;if("string"==typeof a[0]||a[0]instanceof Array)return c(a[0],a[1],a[2]);for(var b in a[0])a[0].hasOwnProperty(b)&&c(b,a[0][b],a[1])};return b}(Mousetrap); |