1.0.1 • Published 9 years ago

dom-delegation-stream v1.0.1

Weekly downloads
3
License
MIT
Repository
github
Last release
9 years ago

dom-delegation-stream

Build Status npm install npm version License

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