mirror of https://github.com/sveltejs/svelte
fix: better event delegation behavior around multiple listeners (#12024)
follow up to #12014, which wasn't quite the right fix. It would mean that delegated listeners between two manual listeners wouldn't be called at the correct time.pull/12026/head
parent
de3bb78da4
commit
0119f25125
@ -1,20 +1,23 @@
|
||||
<script>
|
||||
import { on } from "svelte/events";
|
||||
import { on } from 'svelte/events';
|
||||
import Wrapper from './wrapper.svelte';
|
||||
|
||||
function handleParentKeyDown() {
|
||||
console.log("parent keydown");
|
||||
}
|
||||
function keydownOne(node) {
|
||||
on(node, "keydown", (e) => {});
|
||||
}
|
||||
function keydownTwo(node) {
|
||||
on(node, "keydown", (e) => {});
|
||||
}
|
||||
function keydownThree(node) {
|
||||
on(node, "keydown", (e) => {});
|
||||
}
|
||||
function handleParentKeyDown() {
|
||||
console.log('parent keydown');
|
||||
}
|
||||
function keydownOne(node) {
|
||||
on(node, 'keydown', (e) => console.log('one'));
|
||||
}
|
||||
function keydownTwo(node) {
|
||||
on(node, 'keydown', (e) => console.log('two'));
|
||||
}
|
||||
function keydownThree(node) {
|
||||
on(node, 'keydown', (e) => console.log('three'));
|
||||
}
|
||||
</script>
|
||||
|
||||
<div onkeydown={handleParentKeyDown}>
|
||||
<button use:keydownOne use:keydownTwo use:keydownThree>button</button>
|
||||
</div>
|
||||
<Wrapper>
|
||||
<div onkeydown={handleParentKeyDown}>
|
||||
<button use:keydownOne use:keydownTwo use:keydownThree>button</button>
|
||||
</div>
|
||||
</Wrapper>
|
||||
|
@ -0,0 +1,3 @@
|
||||
<div on:keydown={() => console.log('wrapper')}>
|
||||
<slot />
|
||||
</div>
|
Loading…
Reference in new issue