mirror of https://github.com/sveltejs/svelte
commit
84019b5cea
@ -0,0 +1,15 @@
|
||||
export default {
|
||||
html: `<p>escaped: false</p>`,
|
||||
|
||||
test(assert, component, target, window) {
|
||||
const event = new window.KeyboardEvent('keydown', {
|
||||
which: 27
|
||||
});
|
||||
|
||||
window.dispatchEvent(event);
|
||||
|
||||
assert.htmlEqual(target.innerHTML, `
|
||||
<p>escaped: true</p>
|
||||
`);
|
||||
},
|
||||
};
|
@ -0,0 +1,25 @@
|
||||
<:Window on:esc="set({ escaped: true })" />
|
||||
|
||||
<p>escaped: {{escaped}}</p>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
data() {
|
||||
return { escaped: false };
|
||||
},
|
||||
|
||||
events: {
|
||||
esc(node, callback) {
|
||||
function onKeyDown(event) {
|
||||
if (event.which === 27) callback(event);
|
||||
}
|
||||
node.addEventListener('keydown', onKeyDown);
|
||||
return {
|
||||
destroy() {
|
||||
node.removeEventListener('keydown', onKeyDown);
|
||||
}
|
||||
};
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
Loading…
Reference in new issue