aboutsummaryrefslogtreecommitdiffstats
path: root/lib/mousetrap/plugins/pause/mousetrap-pause.js
blob: 0138b8a85d56d87defacb4b73cdd056bd4f7319a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
/**
 * adds a pause and unpause method to Mousetrap
 * this allows you to enable or disable keyboard shortcuts
 * without having to reset Mousetrap and rebind everything
 */
/* global Mousetrap:true */
(function(Mousetrap) {
    var _originalStopCallback = Mousetrap.prototype.stopCallback;

    Mousetrap.prototype.stopCallback = function(e, element, combo) {
        var self = this;

        if (self.paused) {
            return true;
        }

        return _originalStopCallback.call(self, e, element, combo);
    };

    Mousetrap.prototype.pause = function() {
        var self = this;
        self.paused = true;
    };

    Mousetrap.prototype.unpause = function() {
        var self = this;
        self.paused = false;
    };

    Mousetrap.init();
}) (Mousetrap);