Skip to content

Instantly share code, notes, and snippets.

@zoxon
Forked from d-simon/jquery.dispatcher.js
Created December 22, 2016 03:05
Show Gist options
  • Save zoxon/5a64697d61c355b721fd3e49ea69eb63 to your computer and use it in GitHub Desktop.
Save zoxon/5a64697d61c355b721fd3e49ea69eb63 to your computer and use it in GitHub Desktop.
jQuery Mediator / Event Dispatcher
(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);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment