first commit
This commit is contained in:
15
www/bower_components/mousetrap/plugins/global-bind/README.md
vendored
Normal file
15
www/bower_components/mousetrap/plugins/global-bind/README.md
vendored
Normal file
@@ -0,0 +1,15 @@
|
||||
# Global Bind
|
||||
|
||||
This extension allows you to specify keyboard events that will work anywhere including inside textarea/input fields.
|
||||
|
||||
Usage looks like:
|
||||
|
||||
```javascript
|
||||
Mousetrap.bindGlobal('ctrl+s', function() {
|
||||
_save();
|
||||
});
|
||||
```
|
||||
|
||||
This means that a keyboard event bound using ``Mousetrap.bind`` will only work outside of form input fields, but using ``Moustrap.bindGlobal`` will work in both places.
|
||||
|
||||
If you wanted to create keyboard shortcuts that only work when you are inside a specific textarea you can do that too by creating your own extension.
|
||||
46
www/bower_components/mousetrap/plugins/global-bind/mousetrap-global-bind.js
vendored
Normal file
46
www/bower_components/mousetrap/plugins/global-bind/mousetrap-global-bind.js
vendored
Normal file
@@ -0,0 +1,46 @@
|
||||
/**
|
||||
* adds a bindGlobal method to Mousetrap that allows you to
|
||||
* bind specific keyboard shortcuts that will still work
|
||||
* inside a text input field
|
||||
*
|
||||
* usage:
|
||||
* Mousetrap.bindGlobal('ctrl+s', _saveChanges);
|
||||
*/
|
||||
/* global Mousetrap:true */
|
||||
(function(Mousetrap) {
|
||||
if (! Mousetrap) {
|
||||
return;
|
||||
}
|
||||
var _globalCallbacks = {};
|
||||
var _originalStopCallback = Mousetrap.prototype.stopCallback;
|
||||
|
||||
Mousetrap.prototype.stopCallback = function(e, element, combo, sequence) {
|
||||
var self = this;
|
||||
|
||||
if (self.paused) {
|
||||
return true;
|
||||
}
|
||||
|
||||
if (_globalCallbacks[combo] || _globalCallbacks[sequence]) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return _originalStopCallback.call(self, e, element, combo);
|
||||
};
|
||||
|
||||
Mousetrap.prototype.bindGlobal = function(keys, callback, action) {
|
||||
var self = this;
|
||||
self.bind(keys, callback, action);
|
||||
|
||||
if (keys instanceof Array) {
|
||||
for (var i = 0; i < keys.length; i++) {
|
||||
_globalCallbacks[keys[i]] = true;
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
_globalCallbacks[keys] = true;
|
||||
};
|
||||
|
||||
Mousetrap.init();
|
||||
}) (typeof Mousetrap !== "undefined" ? Mousetrap : undefined);
|
||||
1
www/bower_components/mousetrap/plugins/global-bind/mousetrap-global-bind.min.js
vendored
Normal file
1
www/bower_components/mousetrap/plugins/global-bind/mousetrap-global-bind.min.js
vendored
Normal file
@@ -0,0 +1 @@
|
||||
(function(a){var c={},d=a.prototype.stopCallback;a.prototype.stopCallback=function(e,b,a,f){return this.paused?!0:c[a]||c[f]?!1:d.call(this,e,b,a)};a.prototype.bindGlobal=function(a,b,d){this.bind(a,b,d);if(a instanceof Array)for(b=0;b<a.length;b++)c[a[b]]=!0;else c[a]=!0};a.init()})(Mousetrap);
|
||||
Reference in New Issue
Block a user