Skip to content

Faster and simplified version of on-load without dom diffing support

License

Notifications You must be signed in to change notification settings

hyperdivision/fast-on-load

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

fast-on-load

Build Status

Faster and simplified version of on-load without dom diffing support.

Usage

const onload = require('fast-on-load')

onload(domElement, function () {
  console.log('element was mounted')
}, function () {
  console.log('element was unmounted')
})

Uses a MutationObserver and a generated class together with getElementsByClassName() to find DOM nodes that on-load is tracking, which performs much faster (around 1000x in our machines) on bigger DOM trees that the tree traversal algo on-load uses.

API

const node = onload(node, [onload], [onunload])

Watch node, optionally passing onload and onunload handler. Returns the node itself.

onload.delete(node, [onload], [onunload])

Pass in references to the onload and onunload functions and the node they are attached to to remove them from the function set that get run on load and unload. Pass undefined for onload if you only attached and onunload function.

onload = onload.bind(dom.window)

To run in non-dom context, such as jsdom, call onload with desired window context.

Install

npm install fast-on-load

License

MIT

About

Faster and simplified version of on-load without dom diffing support

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •