node package manager

dom-delegation-stream

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