create_event() — svelte Function Reference
Architecture documentation for the create_event() function in events.js from the svelte codebase.
Entity Profile
Dependency Diagram
graph TD 12245a28_3cec_3119_faa7_968496e0db88["create_event()"] 2c990bd1_acff_5910_3af2_ab75f655b31b["events.js"] 12245a28_3cec_3119_faa7_968496e0db88 -->|defined in| 2c990bd1_acff_5910_3af2_ab75f655b31b 4c70ef10_16f1_40f4_1d51_8a7169bd1dba["set_attributes()"] 4c70ef10_16f1_40f4_1d51_8a7169bd1dba -->|calls| 12245a28_3cec_3119_faa7_968496e0db88 a182a6a3_1f1f_84a4_fbdc_e20427ca84fc["on()"] a182a6a3_1f1f_84a4_fbdc_e20427ca84fc -->|calls| 12245a28_3cec_3119_faa7_968496e0db88 c19e92b3_4483_023c_ecdb_0439ea880ffa["event()"] c19e92b3_4483_023c_ecdb_0439ea880ffa -->|calls| 12245a28_3cec_3119_faa7_968496e0db88 e95d0513_ce71_430f_7ef3_577e736f42c1["without_reactive_context()"] 12245a28_3cec_3119_faa7_968496e0db88 -->|calls| e95d0513_ce71_430f_7ef3_577e736f42c1 2cab0f64_6d19_d981_66e2_d2555c252702["queue_micro_task()"] 12245a28_3cec_3119_faa7_968496e0db88 -->|calls| 2cab0f64_6d19_d981_66e2_d2555c252702 style 12245a28_3cec_3119_faa7_968496e0db88 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
packages/svelte/src/internal/client/dom/elements/events.js lines 50–83
export function create_event(event_name, dom, handler, options = {}) {
/**
* @this {EventTarget}
*/
function target_handler(/** @type {Event} */ event) {
if (!options.capture) {
// Only call in the bubble phase, else delegated events would be called before the capturing events
handle_event_propagation.call(dom, event);
}
if (!event.cancelBubble) {
return without_reactive_context(() => {
return handler?.call(this, event);
});
}
}
// Chrome has a bug where pointer events don't work when attached to a DOM element that has been cloned
// with cloneNode() and the DOM element is disconnected from the document. To ensure the event works, we
// defer the attachment till after it's been appended to the document. TODO: remove this once Chrome fixes
// this bug. The same applies to wheel events and touch events.
if (
event_name.startsWith('pointer') ||
event_name.startsWith('touch') ||
event_name === 'wheel'
) {
queue_micro_task(() => {
dom.addEventListener(event_name, target_handler, options);
});
} else {
dom.addEventListener(event_name, target_handler, options);
}
return target_handler;
}
Domain
Subdomains
Called By
Source
Frequently Asked Questions
What does create_event() do?
create_event() is a function in the svelte codebase, defined in packages/svelte/src/internal/client/dom/elements/events.js.
Where is create_event() defined?
create_event() is defined in packages/svelte/src/internal/client/dom/elements/events.js at line 50.
What does create_event() call?
create_event() calls 2 function(s): queue_micro_task, without_reactive_context.
What calls create_event()?
create_event() is called by 3 function(s): event, on, set_attributes.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free