/listener

Easy way to manage listeners

Primary LanguageJavaScript

JS library to keep track of events and handles registering and unregistering.

To use this, you must first add register and unregister functions. For example:

Handlers
    .add('dom',
        function(element, eventName, handler) {
          element.addEventListener(eventName, handler);
        },
        function(element, eventName, handler) {
          element.removeEventListener(eventName, handler);
        })
    .add('jquery',
        function(element, eventName, handler) {
          $(element).on(eventName, handler);
        },
        function(element, eventName, handler) {
          $(element).off(eventName, handler);
        });

After this point, you can register events as follows:

Events
    .of(element)
    .on('dom', 'click', handleClick);

Every event is registered to a scope, given by the of function. This scope is useful during unregistration:

Events.of(element)
    .off('dom')           // Unregisters all 'dom' events
    .off('dom', 'click')  // Unregisters all 'click' events of 'dom' type.
    .off();               // Unregisters all events for this element.