Just as you can add event listeners to any DOM element, you can add event listeners to the window
object with <svelte:window>
.
On line 33, add the keydown
listener:
<svelte:window on:keydown={handleKeydown}/>
As with DOM elements, you can add event modifiers like
preventDefault
.
App.svelte
xxxxxxxxxx
42
1
<script>
2
let key;
3
let keyCode;
4
5
function handleKeydown(event) {
6
key = event.key;
7
keyCode = event.keyCode;
8
}
9
</script>
10
11
<style>
12
div {
13
display: flex;
14
height: 100%;
15
align-items: center;
16
justify-content: center;
17
flex-direction: column;
18
}
19
20
kbd {
Console
xxxxxxxxxx
136
1
/* App.svelte generated by Svelte v3.23.2 */
2
import {
3
SvelteComponent,
4
append,
5
attr,
6
detach,
7
element,
8
init,
9
insert,
10
noop,
11
safe_not_equal,
12
set_data,
13
set_style,
14
space,
15
text
Compiler options
result = svelte.compile(source, {
generate:
});xxxxxxxxxx
1
1
div.svelte-1a4re5w{display:flex;height:100%;align-items:center;justify-content:center;flex-direction:column}kbd.svelte-1a4re5w{background-color:#eee;border-radius:4px;font-size:6em;padding:0.2em 0.5em;border-top:5px solid rgba(255,255,255,0.5);border-left:5px solid rgba(255,255,255,0.5);border-right:5px solid rgba(0,0,0,0.2);border-bottom:5px solid rgba(0,0,0,0.2);color:#555}