Невозможно добавить прослушиватели событий к нескольким элементам с общим именем класса. Циклы выдают неопределенную оши ⇐ CSS
Невозможно добавить прослушиватели событий к нескольким элементам с общим именем класса. Циклы выдают неопределенную оши
блок кода в моем html-файле.
document.addEventListener('readystatechange', событие => { if (event.target.readyState === "завершено") { let temp = document.getElementsByClassName('js-hand-button'); temp.array.forEach(element => { element.addEventListener("клик",handButtonClick) }); } }); // temp = document.getElementsByClassName('js-hand-button'); // temp[0].addEventListener("click",handButtonClick); // temp[1].addEventListener("click",handButtonClick); // temp[2].addEventListener("click",handButtonClick); На моей HTML-странице есть три кнопки. Для всех из них я хочу добавить один и тот же прослушиватель событий для «щелчка».
4 закомментированные строки работают отлично. Однако я думаю, что должен быть более простой способ осуществить это на случай, если позже мне добавят много кнопок. Я попробовал использовать array.forEach и получил ту же ошибку.
Единственный способ реализовать это — добавить таймер на веб-страницу?
Сообщение об ошибке в консоли -> Uncaught TypeError: невозможно прочитать свойства неопределенного значения (чтение «forEach») в HTMLDocument.
Ошибка при использовании temp.forEach вместо temp.array.forEach --> Uncaught TypeError: temp.forEach не является функцией в HTMLDocument.
Я попытался переместить этот блок кода в отдельный файл .js, но избежать ошибки не удалось. Кроме того, я попытался заранее определить массив со статическим значением как пустой массив, но все равно получил те же ошибки.
блок кода в моем html-файле.
document.addEventListener('readystatechange', событие => { if (event.target.readyState === "завершено") { let temp = document.getElementsByClassName('js-hand-button'); temp.array.forEach(element => { element.addEventListener("клик",handButtonClick) }); } }); // temp = document.getElementsByClassName('js-hand-button'); // temp[0].addEventListener("click",handButtonClick); // temp[1].addEventListener("click",handButtonClick); // temp[2].addEventListener("click",handButtonClick); На моей HTML-странице есть три кнопки. Для всех из них я хочу добавить один и тот же прослушиватель событий для «щелчка».
4 закомментированные строки работают отлично. Однако я думаю, что должен быть более простой способ осуществить это на случай, если позже мне добавят много кнопок. Я попробовал использовать array.forEach и получил ту же ошибку.
Единственный способ реализовать это — добавить таймер на веб-страницу?
Сообщение об ошибке в консоли -> Uncaught TypeError: невозможно прочитать свойства неопределенного значения (чтение «forEach») в HTMLDocument.
Ошибка при использовании temp.forEach вместо temp.array.forEach --> Uncaught TypeError: temp.forEach не является функцией в HTMLDocument.
Я попытался переместить этот блок кода в отдельный файл .js, но избежать ошибки не удалось. Кроме того, я попытался заранее определить массив со статическим значением как пустой массив, но все равно получил те же ошибки.
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение