if (isCyrillic(keyName)) { //вывод сообщения о не правильной раскладке
//нужно добавить
var modalWindowCaps = document.getElementById("alertWindowText");
modalWindowCaps.innerHTML = ("Раскладка!");
...
} else if (capsLockEnabled && keyName != null) {
var modalWindowCaps = document.getElementById("alertWindowText");
modalWindowCaps.innerHTML = ("Включен CapsLock!");
...
}
var keyName;
var counterLetters = 0;
document.addEventListener("keypress", (event) => {
keyName = event.key;
checkUsersKey("something");
});
function checkUsersKey (levelText) {
if(levelText[counterLetters] == keyName){
alert("true");
}
}
let symbolsCounter = 0;
let mistakesCounter = 0;
function checkUsersKey (levelText) {
var theEnd = false;
var counterLetters = 0;
var keyName;
while (theEnd != true ) {
document.addEventListener("keypress", (event) => {
keyName = event.key;
if(levelText[counterLetters] == keyName){
alert("true");
}
})
theEnd = true;
}
}
checkUsersKey("something");
// Не очень понятно, зачем эти переменные
let symbolsCounter = 0;
let mistakesCounter = 0;
function checkUsersKey (levelText) {
var theEnd = false;
var counterLetters = 0;
var keyName;
function checkKeyEvent(event) {
keyName = event.key;
// Это условие прекращает ваш "цикл".
if(theEnd) {
document.removeEventListener('keypress', checkKeyEvent);
return;
}
if(levelText[counterLetters] == keyName){
alert("true");
}
// У вас в коде почему-то в конце цикла theEnd = true, это значит, что цикл не повторится.
// Мне кажется это ошибка, но я все равно перенес ее в код для примера.
// Можете изменять переменную в true например когда получите нужную клавишу.
theEnd = true;
}
document.addEventListener("keypress", checkKeyEvent);
}
checkUsersKey("something");