я использую эту строку кода, чтобы добавить прослушиватель событий в моей Div-х, которые создаются с помощью forloop:Назначение EventListener в цикле
for(var i in mail){
//create div
parent.addEventListener("click",function(){read_msg(mail[i].id);},false);
//append to parent
}
Это вызывает проблему mail[i].id
быть последним идентификатор для всех их. Я прочитал несколько примеров того, как его решить, но я считаю, что это все еще очень запутанно.
мне предложили решение:
(function(){read_msg(mail[this].id)}).bind(i);
Но я сказал это не большое решение, чтобы использовать, надеялся, кто-то может объяснить, как вы получите read_msg
держать правильное значение id
? Это всегда кажется немного беспорядочным с точки зрения решения.
«Но я сказал, что это не большое решение использовать» --- какие-либо подробности? «Не очень» не является отличным объяснением. – zerkms
Это решение в порядке. – elclanrs
@zerkms - это вопрос, почему решение не подходит? Мне больше ничего не сказали. – Sir