Skip to content

Commit 2904b90

Browse files
added space, enter, h, k, r button listeners for quick actions
1 parent a099ba5 commit 2904b90

1 file changed

Lines changed: 30 additions & 12 deletions

File tree

script.js

Lines changed: 30 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,34 @@
11
import {kanaList} from './jpChars.js';
2+
23
let hiraganaButton = document.getElementById("hiragana");
34
let katakanaButton = document.getElementById("katakana");
45
let romajiButton = document.getElementById("romaji");
5-
66
const blockquote = document.getElementById('letter');
7-
87
const answer = document.getElementById('answer');
8+
let main = document.getElementById('main');
99

1010
let ind = Math.floor(Math.random() * kanaList.length);
11+
1112
document.addEventListener("DOMContentLoaded", () => {
1213
blockquote.textContent = kanaList[ind][0];
13-
answer.textContent=kanaList[ind][2];
14+
answer.textContent = kanaList[ind][2];
1415
hiraganaButton.classList.toggle('clicked');
1516
});
1617

1718
hiraganaButton.addEventListener("click", () => {
1819
if(!hiraganaButton.classList.contains('clicked')){
19-
answer.textContent=kanaList[ind][2];
20+
answer.textContent = kanaList[ind][2];
2021
answer.classList.remove('shown');
2122
hiraganaButton.classList.toggle('clicked');
2223
blockquote.textContent = kanaList[ind][0];
2324
}
2425
katakanaButton.classList.remove('clicked');
2526
romajiButton.classList.remove('clicked');
2627
})
28+
2729
katakanaButton.addEventListener("click", () => {
2830
if(!katakanaButton.classList.contains('clicked')){
29-
answer.textContent=kanaList[ind][2];
31+
answer.textContent = kanaList[ind][2];
3032
answer.classList.remove('shown');
3133
katakanaButton.classList.toggle('clicked');
3234
blockquote.textContent = kanaList[ind][1];
@@ -37,7 +39,7 @@ katakanaButton.addEventListener("click", () => {
3739

3840
romajiButton.addEventListener("click", () => {
3941
if(!romajiButton.classList.contains('clicked')){
40-
answer.textContent=kanaList[ind][0]+" "+kanaList[ind][1];
42+
answer.textContent = kanaList[ind][0] + " " + kanaList[ind][1];
4143
answer.classList.remove('shown');
4244
romajiButton.classList.toggle('clicked');
4345
blockquote.textContent = kanaList[ind][2];
@@ -46,25 +48,41 @@ romajiButton.addEventListener("click", () => {
4648
katakanaButton.classList.remove('clicked');
4749
})
4850

49-
let main = document.getElementById('main');
5051
main.addEventListener("click", () => {
5152
if(!answer.classList.contains('shown')){
5253
answer.classList.add('shown');
5354
}
5455
else{
5556
answer.classList.remove('shown');
5657
ind = Math.floor(Math.random() * kanaList.length);
57-
if(hiraganaButton.classList.contains('clicked')){
58+
59+
if(hiraganaButton.classList.contains('clicked')){
5860
blockquote.textContent = kanaList[ind][0];
59-
answer.textContent=kanaList[ind][2];
61+
answer.textContent = kanaList[ind][2];
6062
}
61-
else if(katakanaButton.classList.contains('clicked')){
63+
else if(katakanaButton.classList.contains('clicked')){
6264
blockquote.textContent = kanaList[ind][1];
63-
answer.textContent=kanaList[ind][2];
65+
answer.textContent = kanaList[ind][2];
6466
}
6567
else{
6668
blockquote.textContent = kanaList[ind][2];
67-
answer.textContent=kanaList[ind][0]+" "+kanaList[ind][1];
69+
answer.textContent = kanaList[ind][0] + " " + kanaList[ind][1];
6870
}
6971
}
7072
})
73+
74+
document.addEventListener('keydown', (e) => {
75+
if (e.code === 'Space' || e.code === 'Enter') {
76+
e.preventDefault();
77+
main.click();
78+
}
79+
if (e.key.toLowerCase() === 'h') {
80+
hiraganaButton.click();
81+
}
82+
if (e.key.toLowerCase() === 'k') {
83+
katakanaButton.click();
84+
}
85+
if (e.key.toLowerCase() === 'r') {
86+
romajiButton.click();
87+
}
88+
});

0 commit comments

Comments
 (0)