«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Почему прослушиватели событий в цикле for нацелены на последний объект?

Почему прослушиватели событий в цикле for нацелены на последний объект?

Опубликовано 12 декабря 2024 г.
Просматривать:936

Why Do Event Listeners in a For Loop Target the Last Object?

addEventListener с использованием цикла For и передачи значений

При использовании цикла for для добавления прослушивателей событий к нескольким объектам последний объект часто становится Цель для всех перемещений прослушивателей. В этой статье рассматривается эта проблема и предоставляется исправленный код с использованием замыканий:

Обзор проблемы:

Попытка добавить прослушиватели событий к нескольким объектам с помощью цикла, но в конечном итоге все слушатели нацелены на один и тот же объект (последний).

Фиксированный код:

закрытие — это способ предотвратить проблемы такого рода. Модифицированный код выглядит следующим образом:

// 函数在点击时运行:
function makeItHappen(elem, elem2) {
    var el = document.getElementById(elem);
    el.style.backgroundColor = "red";
    var el2 = document.getElementById(elem2);
    el2.style.backgroundColor = "blue";
}

// 自动加载函数以添加侦听器:
var elem = document.getElementsByClassName("triggerClass");

for (var i = 0; i 
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3