Skip to content

Instantly share code, notes, and snippets.

@d-simon
Created March 13, 2015 00:50
Show Gist options
  • Select an option

  • Save d-simon/33750128520fb4d897b5 to your computer and use it in GitHub Desktop.

Select an option

Save d-simon/33750128520fb4d897b5 to your computer and use it in GitHub Desktop.

Revisions

  1. d-simon created this gist Mar 13, 2015.
    30 changes: 30 additions & 0 deletions jquery.dispatcher.js
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,30 @@
    (function($) {
    'use strict';
    var $document = $(document.documentElement);

    // Create the dispatcher
    $.dispatcher = $.dispatcher || {};

    var dispatcherMethods = {
    trigger: function (event, data, elem) {
    // If element is provided trigger from element
    if (elem) {
    // Wrap in jQuery and call trigger
    return $(elem).trigger(event, data);
    } else {
    return $document.trigger(event, data);
    }
    },

    on: function (event, callback, scope) {
    return $document.on(event, $.proxy(callback, scope || $document));
    },

    off: function (event) {
    return $document.off(event);
    }
    }; // dispatcherMethods end

    // Attach the dispatcher methods to $.dispatcher
    $.extend(true, $.dispatcher, dispatcherMethods);
    })(jQuery);