lifecycle-events
Version:
Enable lifecycle events for DOM-elements: attached, detached
58 lines (31 loc) • 2.23 kB
Markdown
Enable lifecycle events for HTML elements: `attached`, `detached`.
`$ npm install lifecycle-events`
```js
var lifecycleEvents = require('lifecycle-events');
//enable lifecycle events for all elements on the page
lifecycleEvents.enable();
$('.my-element').on('attached', function(){});
$('.my-other-element').on('detached', function(){});
//Disable all lifecycle events
lifecycleEvents.disable();
//Enable lifecycle events for a Node/NodeList
lifecycleEvents.enable(element);
element.addEventListener('attached', function(){});
element.addEventListener('detached', function(){});
//Disable lifecycle events for the previously added element/selector
lifecycleEvents.disable(element);
```
To make it work in IE and old browsers, you may need to polyfill `MutationObserver`, `WeakMap`, `WeakSet`, `Element.matches`, `Element.contains`: [//cdn.polyfill.io/v1/polyfill.min.js?features=default,WeakMap,WeakSet]().
Enable lifecycle events for an Element, NodeList or selector. If no selector specified, `'*'` is used. An optional container element/selector may be specified in speed purpose.
Disable lifecycle events for previously registered selector. If no selector specified, all lifecycle events are unbound.
Callback name used for attaching lifecycle event. `attached` is used by default. Synomim: `DOMNodeInserted`.
Callback name used for detaching lifecycle event. `detached` is used by default.Synomim: `DOMNodeRemoved`.
Also see [viewport-events](http://github.com/kudago/viewport-events) for `enteredView` and `leftView` events.
[](https://nodei.co/npm/lifecycle-events/)