A module to ease the addition and removal of a mapping of delegated listeners to a view. Inspired by Backbone.View's delegateEvents. A mapping consists of an object where the key is an event and optionally a selector as well and the value is a listener function.
npm install event-map --save
On a domElement, append these listeners delegated to the provided selectors:
var removeListeners = eventMap(domElement, {
'click .btn': function(event){ console.log(event.target + 'clicked'); },
'mouseover h1, h2, a': onRollover,
'touchstart': onTouchStart
});
//at a later timer, clean up:
removeListeners();
If no domElement is provided, all events are placed on document:
var removeListeners = eventMap({
'touchstart': onTouchStart,
'touchmove': onTouchMove,
'touchend': onTouchEnd
}, true);
MIT, see LICENSE.md for details.