dom-delegation-stream
![License](https://img.shields.io/npm/l/dom-delegation-stream.svg?style=flat-square)
simple streaming DOM event delegation
example
var events = require('dom-delegation-stream')
var values = require('dom-value-stream')
events(document.body, 'input', 'input[type=text]')
.pipe(values())
.pipe(wherever())
API
events(element, eventName[, selector, options]) -> ReadableStream
- if selector is provided, delegation will be used, otherwise it will not.
- valid options are:
preventDefault <boolean>
: will call preventDefault()
on all matched
events. Defaults to false
.stopPropagation <boolean>
: will call stopPropagation()
on all matched
events. Defaults to false
.useCapture <boolean>
: will initiate capture for matched events. Defaults
to false
.
notes
- when using delegation, the element that matches your selector will be
available as
event.delegationTarget
. - calling
.end()
or otherwise ending the stream returned by
dom-delegation-stream
will remove the listeners added for event handling. - there are some alternative options for event handling on npm, a couple that
even support delegation, and even some that are streaming. this module was
created as an effort to provide a better balance of simplicity and
flexibility.
license
MIT