mirror of https://github.com/sveltejs/svelte
parent
c5fa0b46e1
commit
528da1c1b4
@ -1,73 +1,40 @@
|
|||||||
<script>
|
<script>
|
||||||
|
import { listener } from 'svelte/legacy';
|
||||||
/** @type {{onclick?: (event: any) => void, ontoggle?: (event: any) => void, 'oncustom-event-bubble'?: (event: any) => void}} */
|
/** @type {{onclick?: (event: any) => void, ontoggle?: (event: any) => void, 'oncustom-event-bubble'?: (event: any) => void}} */
|
||||||
let { onclick, ontoggle, 'oncustom-event-bubble': oncustom_event_bubble } = $props();
|
let { onclick, ontoggle, 'oncustom-event-bubble': oncustom_event_bubble } = $props();
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<button onclick={(event) => {
|
<button use:listener={[() => console.log('hi'),"click"]} use:listener={[(event)=>{onclick?.(event);},"click"]}>click me</button>
|
||||||
console.log('hi')
|
<button use:listener={[() => console.log('before'),"click"]} use:listener={[(event)=>{onclick?.(event);},"click"]} use:listener={[() => console.log('after'),"click"]}
|
||||||
|
|
||||||
onclick?.(event);
|
|
||||||
}}>click me</button>
|
|
||||||
<button onclick={(event) => {
|
|
||||||
console.log('before')
|
|
||||||
|
|
||||||
onclick?.(event);
|
|
||||||
console.log('after')
|
|
||||||
}}
|
|
||||||
>click me</button
|
>click me</button
|
||||||
>
|
>
|
||||||
<button onclick={(event) => {
|
<button use:listener={[(event)=>{onclick?.(event);},"click"]} use:listener={[foo,"click"]}>click me</button>
|
||||||
onclick?.(event);
|
<button use:listener={[(event)=>{onclick?.(event);},"click"]}>click me</button>
|
||||||
|
|
||||||
foo?.(event);
|
|
||||||
}}>click me</button>
|
|
||||||
<button {onclick}>click me</button>
|
|
||||||
|
|
||||||
<button ondblclick={() => console.log('hi')}>click me</button>
|
<button use:listener={[() => console.log('hi'),"dblclick"]}>click me</button>
|
||||||
<button {ontoggle}>click me</button>
|
<button use:listener={[(event)=>{ontoggle?.(event);},"toggle"]}>click me</button>
|
||||||
<button oncustom-event={() => 'hi'}>click me</button>
|
<button use:listener={[() => 'hi',"custom-event"]}>click me</button>
|
||||||
<button oncustom-event-bubble={oncustom_event_bubble}>click me</button>
|
<button use:listener={[(event)=>{oncustom_event_bubble?.(event);},"custom-event-bubble"]}>click me</button>
|
||||||
|
|
||||||
<button onclick={(event) => {
|
<button use:listener={[() => '',"click",["preventDefault"]]}>click me</button>
|
||||||
event.preventDefault();
|
<button use:listener={[() => (searching = true),"click",["preventDefault"]]}>click me</button>
|
||||||
''
|
<button use:listener={[() => {},"click",["stopPropagation"]]}>click me</button>
|
||||||
}}>click me</button>
|
<button use:listener={[() => '',"click",["stopImmediatePropagation"]]}>click me</button>
|
||||||
<button onclick={(event) => {
|
<button use:listener={[() => '',"click",["capture"]]}>click me</button>
|
||||||
event.preventDefault();
|
<button use:listener={[() => '',"click",["self"]]}>click me</button>
|
||||||
searching = true
|
|
||||||
}}>click me</button>
|
|
||||||
<button onclick={(event) => {
|
|
||||||
event.stopPropagation();
|
|
||||||
|
|
||||||
}}>click me</button>
|
|
||||||
<button onclick={(event) => {
|
|
||||||
event.stopImmediatePropagation();
|
|
||||||
''
|
|
||||||
}}>click me</button>
|
|
||||||
<button onclickcapture={() => ''}>click me</button>
|
|
||||||
<button onclick={(event) => {
|
|
||||||
// @migration-task: incorporate self modifier
|
|
||||||
''
|
|
||||||
}}>click me</button>
|
|
||||||
|
|
||||||
<Button on:click={() => 'leave untouched'} on:click>click me</Button>
|
<Button on:click={() => 'leave untouched'} on:click>click me</Button>
|
||||||
|
|
||||||
<div>
|
<div>
|
||||||
<button
|
<button
|
||||||
onclick={() => {
|
use:listener={[() => {
|
||||||
console.log('hi');
|
console.log('hi');
|
||||||
}}>click me</button
|
},"click"]}>click me</button
|
||||||
>
|
>
|
||||||
<button
|
<button
|
||||||
onclick={(event) => {
|
use:listener={[() => {
|
||||||
event.preventDefault();
|
|
||||||
|
|
||||||
console.log('hi');
|
console.log('hi');
|
||||||
|
},"click",["preventDefault"]]}>click me</button
|
||||||
}}>click me</button
|
|
||||||
>
|
>
|
||||||
<button onclick={(event) => {
|
<button use:listener={[() => (count += 1),"click",["preventDefault"]]}>click me</button>
|
||||||
event.preventDefault();
|
|
||||||
count += 1
|
|
||||||
}}>click me</button>
|
|
||||||
</div>
|
</div>
|
||||||
@ -1,8 +1,10 @@
|
|||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
|
import { listener } from 'svelte/legacy';
|
||||||
|
|
||||||
// here is a comment
|
// here is a comment
|
||||||
let div: HTMLIFrameElement = $state();
|
let div: HTMLIFrameElement = $state();
|
||||||
let count = $state(0);
|
let count = $state(0);
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<div bind:this={div}></div>
|
<div bind:this={div}></div>
|
||||||
<button onclick={() => count++}>{count}</button>
|
<button use:listener={[() => count++,"click"]}>{count}</button>
|
||||||
Loading…
Reference in new issue