MCPcopy
hub / github.com/sveltejs/svelte / event_handle

Function event_handle

packages/svelte/src/internal/client/render.js:222–255  ·  view source on GitHub ↗
(events)

Source from the content-addressed store, hash-verified

220
221 /** @param {Array<string>} events */
222 var event_handle = (events) => {
223 for (var i = 0; i < events.length; i++) {
224 var event_name = events[i];
225
226 if (registered_events.has(event_name)) continue;
227 registered_events.add(event_name);
228
229 var passive = is_passive_event(event_name);
230
231 // Add the event listener to both the container and the document.
232 // The container listener ensures we catch events from within in case
233 // the outer content stops propagation of the event.
234 //
235 // The document listener ensures we catch events that originate from elements that were
236 // manually moved outside of the container (e.g. via manual portals).
237 for (const node of [target, document]) {
238 var counts = listeners.get(node);
239
240 if (counts === undefined) {
241 counts = new Map();
242 listeners.set(node, counts);
243 }
244
245 var count = counts.get(event_name);
246
247 if (count === undefined) {
248 node.addEventListener(event_name, handle_event_propagation, { passive });
249 counts.set(event_name, 1);
250 } else {
251 counts.set(event_name, count + 1);
252 }
253 }
254 }
255 };
256
257 event_handle(array_from(all_registered_events));
258 root_event_handles.add(event_handle);

Callers 1

_mountFunction · 0.85

Calls 6

is_passive_eventFunction · 0.90
addEventListenerMethod · 0.80
setMethod · 0.65
hasMethod · 0.45
addMethod · 0.45
getMethod · 0.45

Tested by

no test coverage detected