Игра JavaScript Hangman, проблема с прослушивателем событийJavascript

Форум по Javascript
Ответить
Гость
 Игра JavaScript Hangman, проблема с прослушивателем событий

Сообщение Гость »


Когда нажата кнопка, и она соответствует любой букве слова ответа, кнопка должна стать зеленой (и показать букву), в противном случае — красной.

Похоже, проблема связана с прослушивателем событий buttonGrid.addEventListener(...);

Функция checkLetter() работает только для первого вопроса/ответа, после первого вопроса/ответа при нажатии кнопки блок «if» и «else» запускается одновременно и помечает кнопку как неправильную. даже если это правильная кнопка, это создает ненужные неверные предположения и останавливает программу.

КОДОВАЯ РУЧКА: https://codepen.io/randomname031/pen/gOZvepQ

Вот функция:

function checkLetter(spanarray, spanletter) { пусть l = spanarray.length; buttonGrid.addEventListener("клик", (событие) => { попытки += 1; if (!event.target.classList.contains("not-this")) { если (spanletter.includes(event.target.textContent)) { // ПРАВИЛЬНЫЙ event.target.classList.add("правильно"); event.target.disabled = правда; spanarray.forEach((значение) => { if (value.textContent === event.target.textContent) { value.classList.remove("скрыть"); оценка += 10; л--; console.log(л); } }); если (л === 0) { setTimeout(() => { ОчиститьГрид(); печатьВопрос(); }, 500); } } еще { // НЕПРАВИЛЬНО event.target.classList.add("неверно"); event.target.disabled = правда; догадки--; неправильноGuess.textContent = догадки; оценка -= 10; если (предполагает === 0) { финал(); } } } }); } Я перепробовал все возможные способы, но не смог это исправить.
[*]Добавление и удаление прослушивателя событий [*]Перенос прослушивателя событий в другую функцию [*]stopPropagation() ~не знаю, правильно ли я его использовал [*]а еще спросил ChatGPT, и стало еще хуже.
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Javascript»