Skip to content

Commit c131e6f

Browse files
trueadmRich-Harris
andauthored
Revert "chore: ensure we use event system code paths throughout" (#11644)
* Revert "chore: ensure we use event system code paths throughout (#11640)" This reverts commit c00d824. * Update packages/svelte/src/internal/client/dom/elements/attributes.js --------- Co-authored-by: Rich Harris <[email protected]>
1 parent 3bf68b4 commit c131e6f

File tree

2 files changed

+11
-25
lines changed

2 files changed

+11
-25
lines changed

packages/svelte/src/internal/client/dom/elements/attributes.js

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import { DEV } from 'esm-env';
22
import { hydrating } from '../hydration.js';
33
import { get_descriptors, get_prototype_of, map_get, map_set } from '../../utils.js';
44
import { AttributeAliases, DelegatedEvents, namespace_svg } from '../../../../constants.js';
5-
import { create_event, delegate } from './events.js';
5+
import { delegate } from './events.js';
66
import { autofocus } from './misc.js';
77
import { effect, effect_root } from '../../reactivity/effects.js';
88
import * as w from '../../warnings.js';
@@ -149,14 +149,11 @@ export function set_attributes(element, prev, next, lowercase_attributes, css_ha
149149

150150
if (value != null) {
151151
if (!delegated) {
152+
// we use `addEventListener` here because these events are not delegated
152153
if (!prev) {
153-
events.push([
154-
key,
155-
value,
156-
() => (next[key] = create_event(event_name, element, value, opts))
157-
]);
154+
events.push([key, value, () => element.addEventListener(event_name, value, opts)]);
158155
} else {
159-
next[key] = create_event(event_name, element, value, opts);
156+
element.addEventListener(event_name, value, opts);
160157
}
161158
} else {
162159
// @ts-ignore

packages/svelte/src/internal/client/dom/elements/events.js

Lines changed: 7 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,18 @@ import { define_property, is_array } from '../../utils.js';
66
* @param {string} event_name
77
* @param {Element} dom
88
* @param {EventListener} handler
9-
* @param {AddEventListenerOptions} options
9+
* @param {boolean} capture
10+
* @param {boolean} [passive]
11+
* @returns {void}
1012
*/
11-
export function create_event(event_name, dom, handler, options) {
13+
export function event(event_name, dom, handler, capture, passive) {
14+
var options = { capture, passive };
15+
1216
/**
1317
* @this {EventTarget}
1418
*/
1519
function target_handler(/** @type {Event} */ event) {
16-
if (!options.capture) {
20+
if (!capture) {
1721
// Only call in the bubble phase, else delegated events would be called before the capturing events
1822
handle_event_propagation(dom, event);
1923
}
@@ -24,21 +28,6 @@ export function create_event(event_name, dom, handler, options) {
2428

2529
dom.addEventListener(event_name, target_handler, options);
2630

27-
return target_handler;
28-
}
29-
30-
/**
31-
* @param {string} event_name
32-
* @param {Element} dom
33-
* @param {EventListener} handler
34-
* @param {boolean} capture
35-
* @param {boolean} [passive]
36-
* @returns {void}
37-
*/
38-
export function event(event_name, dom, handler, capture, passive) {
39-
var options = { capture, passive };
40-
var target_handler = create_event(event_name, dom, handler, options);
41-
4231
// @ts-ignore
4332
if (dom === document.body || dom === window || dom === document) {
4433
render_effect(() => {

0 commit comments

Comments
 (0)