hear
Listen to any event emitter with a single API.
.on
, .addEventListener
, .subscribe
, ... Why are there so many method names ?
hear is an "universal binder" that allows you to use one method name with the different event emitters, whether it is a DOM node, Node EventEmitter, mediator...
You can also pass a context and hear will handle this for you (no bind
leak).
Supported emitter types
- DOM nodes
- jQuery events
- Angular & Vue internal emitters
- Google Maps events
- Basically all objects with
on
/off
methods. See events.js for API support list.
Installation & usage
npm i --save hearjs
var hear = ; var emitter = ;var mediator = ; { ; // document.querySelector('.node'); ; // EventEmitter ; // Mediator} MyTypeprototype { // ...};
API
-
hear.on(emitter, eventName, fn, context)
listeneventName
on theemitter
. -
hear.once(emitter, eventName, fn, context)
like.on
but is unbound after first call. -
hear.off(emitter, eventName, fn, context)
Unbind an event listener. If supported by the passedemitter
:- if no
fn
is passed, all theeventName
listeners will be unbound - if no
eventName
is passed, theemitter
will be totally unbound
- if no
Contributing
Checkout from dev
, merge back against dev
.
Add relevant test cases.
4 spaces, semicolon.
Todo
- support
off
method without event/fn argument - add test with gmaps, angular/vue, jquery