Built to use modern event listener options register a listener and return a method to remove the listener.
import registerListener from 'tp-register-listener';
const handler = () => {
// do something
};
const body = document.body;
const unReg = registerListener(body, 'click', handler);
// remove this listener
unReg();
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())
@return {boolean} - Return true when the environment support "passive" EventListenerOptionsif((registerListener as any)._uiEvtOpts) {
// code here
}
npm t: Run test suitenpm start: Run npm 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:)MIT
Generated using TypeDoc