tp-register-listener
v1.0.5
Published
Built to use modern event listener options to register a listener and return a method to remove the listener.
Downloads
12
Readme
tp-register-listener
Intro
Built to use modern event listener options register a listener and return a method to remove the listener.
Example
import registerListener from 'tp-register-listener';
const handler = () => {
// do something
};
const body = document.body;
const unReg = registerListener(body, 'click', handler);
// remove this listener
unReg();
Install
API
registerListener(ele, eventName, callback, opts, unRegisterListenersCollection)
Returns a unRegister function to remove the listener.
@param {HTMLElement} ele
- Elements to binding event;@param {string} eventName
- The event name;@param {EventListener} callback
- The event listener;@param {EventListenerOptions} [opts={}]
- The event listener options;@param {Function[]} [unRegisterListenersCollection]
- The collections of unRegister listeners.
const unRegisterListenersCollection = []
const handler = () => {
// empty
}
const ele = document.body
registerListener(ele, 'click', handler, {}, unRegisterListenersCollection)
registerListener(ele, 'click', handler, {}, unRegisterListenersCollection)
registerListener(ele, 'click', handler, {}, unRegisterListenersCollection)
// remove all listeners.
unRegisterListenersCollection.forEach(fn => fn())
registerListener._uiEvtOpts
@return {boolean}
- Return true when the environment support "passive"EventListenerOptions
if((registerListener as any)._uiEvtOpts) {
// code here
}
Development
npm t
: Run test suitenpm start
: Runnpm run build
in watch modenpm run test:watch
: Run test suite in interactive watch modenpm run test:prod
: Run linting and generate coveragenpm run build
: Generate bundles and typings, create docsnpm run lint
: Lints codenpm run commit
: Commit using conventional commit style (husky will tell you to use it if you haven't :wink:)
License
MIT