ever v0.0.3
ever
dom events with a node-style EventEmitter api
example
var ever = require('ever');
var box = document.querySelector('#box');
var state = false;
ever(box).on('click', function (ev) {
ev.stopPropagation();
state = !state;
box.style['background-color'] = state ? 'red' : 'rgb(127,127,127)';
});
setInterval(function () {
ever(box).emit('click');
}, 3000);methods
var ever = require('ever')var ev = ever(element)
Return a new
EventEmitter
that wraps the HTML node element.
All the usual EventEmitter methods should work with the caveat that adding and removing listeners are proxied through to the underlying dom methods, which only expect a single event object as a parameter.
ev.emit(name, opts)
Emit an event name with options opts. This method creates a synthetic event
using document.createEvent() and the corresponding variant of .initEvent()
that works with the event name provided.
The options opts will be passed into the matching .initEvent() function
signature. Any additional properties will be added to the event object as
properties being calling .dispatchEvent().
The signatures are documented in the file init.json in this distribution.
To see which event name maps to which init signature, see the types.json file.
ev.on(name, cb), ev.addListener(name, cb)
Just like node's EventEmitter.prototype.on(), listen for events.
Internally this calls .addEventListener().
ev.removeListener(name, cb)
Just like node's EventEmitter.prototype.removeListener(), remove a listener.
Internally this calls .removeEventListener(), however there is no way to
obtain a list of all listeners from dom nodes, so only listeners registered by
the current ever() instance can be removed.
ev.removeAllListeners(name)
Just like node EventEmitter.prototype.removeAllListeners(), remove all the
listeners with name or everything is name is falsy.
Unlike in node, this function calls removeListener() on each of the events to
remove them so that the underlying .removeEventListener() calls get fired.
install
With npm do:
npm install everThis module is meant for use in browsers with a node-style module system. Use browserify or similar.
license
MIT
