MCPcopy Create free account
hub / github.com/adobe/react-spectrum / addEvent

Function addEvent

packages/react-aria/src/utils/domHelpers.ts:72–93  ·  view source on GitHub ↗
(
  target: T | EventTarget[] | null,
  event: Extract<K, string> | (string & {}),
  listener?: (this: T, ev: EventMapType<Exclude<T, null>>[K]) => any,
  options?: boolean | AddEventListenerOptions
)

Source from the content-addressed store, hash-verified

70 * Attaches an event listener on target(s) and returns a cleanup function.
71 */
72export function addEvent<T extends EventTarget, K extends keyof EventMapType<Exclude<T, null>>>(
73 target: T | EventTarget[] | null,
74 event: Extract<K, string> | (string & {}),
75 listener?: (this: T, ev: EventMapType<Exclude<T, null>>[K]) => any,
76 options?: boolean | AddEventListenerOptions
77): () => void {
78 if (listener == null || target == null) {
79 return () => {};
80 }
81
82 let eventTargets = Array.isArray(target) ? target : [target];
83
84 for (let eventTarget of eventTargets) {
85 eventTarget.addEventListener(event, listener as EventListener, options);
86 }
87
88 return () => {
89 for (let eventTarget of eventTargets) {
90 eventTarget.removeEventListener(event, listener as EventListener, options);
91 }
92 };
93}

Callers 3

useCloseOnScrollFunction · 0.90
useScrollViewFunction · 0.90
useCloseOnScrollFunction · 0.90

Calls 2

addEventListenerMethod · 0.80
removeEventListenerMethod · 0.80

Tested by

no test coverage detected