Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- export const customEvent = (
- events: string,
- customEventInit?: CustomEventInit
- ) => (
- target: Document | string,
- listener: EventListener,
- addEventListenerOptions?: boolean | AddEventListenerOptions
- ) => {
- const eventInstance = new CustomEvent(events, customEventInit);
- if (target instanceof Document) {
- target.addEventListener(events, listener, addEventListenerOptions);
- return () => target.dispatchEvent(eventInstance);
- } else {
- const targets = document.querySelectorAll(target);
- targets.forEach(element => {
- element.addEventListener(events, listener, addEventListenerOptions);
- });
- return () =>
- [...targets]
- .map(element => element.dispatchEvent(eventInstance))
- .some(isPrevented => isPrevented === false)
- ? false
- : true;
- }
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement