feat: type `currentTarget` in `on` function

pull/17370/head
Richard Jelínek 4 days ago
parent 866ae6cdc7
commit 6d3bd0538f
No known key found for this signature in database

@ -0,0 +1,5 @@
---
'svelte': patch
---
type `currentTarget` in `on` function

@ -30,7 +30,10 @@ export function on<Type extends keyof DocumentEventMap>(
export function on<Element extends HTMLElement, Type extends keyof HTMLElementEventMap>(
element: Element,
type: Type,
handler: (this: Element, event: HTMLElementEventMap[Type]) => any,
handler: (
this: Element,
event: HTMLElementEventMap[Type] & { currentTarget: EventTarget & Element }
) => any,
options?: AddEventListenerOptions | undefined
): () => void;
/**

@ -8,6 +8,8 @@ on(window, 'click', (e) => e.button);
on(document, 'click', (e) => e.button);
on(document.createElement('input'), 'input', (e) => e.currentTarget?.value);
on(
document.body,
'clidck',

@ -2823,7 +2823,10 @@ declare module 'svelte/events' {
export function on<Element extends HTMLElement, Type extends keyof HTMLElementEventMap>(
element: Element,
type: Type,
handler: (this: Element, event: HTMLElementEventMap[Type]) => any,
handler: (
this: Element,
event: HTMLElementEventMap[Type] & { currentTarget: EventTarget & Element }
) => any,
options?: AddEventListenerOptions | undefined
): () => void;
/**

Loading…
Cancel
Save