-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathscript.js
37 lines (30 loc) · 955 Bytes
/
script.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
let synth = window.speechSynthesis;
let addKeyColor = e => {
document.querySelectorAll('.letter').forEach(key => {
if (e.key == key.dataset.letter) {
key.classList.add('active')
let utterance = new SpeechSynthesisUtterance(e.key);
synth.speak(utterance);
}
});
};
let removeKeyColor = e => {
document.querySelector('#input').value = "";
document.querySelectorAll('.letter').forEach(key => {
if (e.key == key.dataset.letter) {
key.classList.remove('active')
}
})
};
document.querySelector('#input').addEventListener("keydown", addKeyColor);
document.querySelector('#input').addEventListener("keyup", removeKeyColor);
document.querySelectorAll('.letter').forEach(key => {
key.addEventListener("mouseover", () => {
key.classList.add('active')
})
});
document.querySelectorAll('.letter').forEach(key => {
key.addEventListener("mouseleave", () => {
key.classList.remove('active')
})
});