aboutsummaryrefslogtreecommitdiffstats
path: root/lib/mousetrap/plugins/bind-dictionary/mousetrap-bind-dictionary.js
diff options
context:
space:
mode:
authorTeddy Wing2015-05-23 16:21:38 -0400
committerTeddy Wing2015-05-23 16:21:38 -0400
commit3a09e4dd09a6af3b228fcda68aa0709626b5ee51 (patch)
treea434d76ccae2a55cfe4f4c0215a99017de4bba33 /lib/mousetrap/plugins/bind-dictionary/mousetrap-bind-dictionary.js
parent6183a0bb3caf4805ed4242a4ac104b9890db3601 (diff)
downloadPeniquitous-3a09e4dd09a6af3b228fcda68aa0709626b5ee51.tar.bz2
Set up Bower. Install Mousetrap.
* Create limited bower.json file * Create .bowerrc that tells Bower to use the `lib` directory * Install Mousetrap for key events
Diffstat (limited to 'lib/mousetrap/plugins/bind-dictionary/mousetrap-bind-dictionary.js')
-rw-r--r--lib/mousetrap/plugins/bind-dictionary/mousetrap-bind-dictionary.js39
1 files changed, 39 insertions, 0 deletions
diff --git a/lib/mousetrap/plugins/bind-dictionary/mousetrap-bind-dictionary.js b/lib/mousetrap/plugins/bind-dictionary/mousetrap-bind-dictionary.js
new file mode 100644
index 0000000..523fc86
--- /dev/null
+++ b/lib/mousetrap/plugins/bind-dictionary/mousetrap-bind-dictionary.js
@@ -0,0 +1,39 @@
+/**
+ * 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
+ *
+ */
+/* global Mousetrap:true */
+(function(Mousetrap) {
+ var _oldBind = Mousetrap.prototype.bind;
+ var args;
+
+ Mousetrap.prototype.bind = function() {
+ var self = this;
+ args = arguments;
+
+ // normal call
+ if (typeof args[0] == 'string' || args[0] instanceof Array) {
+ return _oldBind.call(self, args[0], args[1], args[2]);
+ }
+
+ // object passed in
+ for (var key in args[0]) {
+ if (args[0].hasOwnProperty(key)) {
+ _oldBind.call(self, key, args[0][key], args[1]);
+ }
+ }
+ };
+
+ Mousetrap.init();
+}) (Mousetrap);