Это потому, что каждое замыкание, которое вы создаете для обработчика onclick, использует одну и ту же среду.Когда выполняется функция обратного вызова onclick
, каждая ссылается на последнее значение i
.
Уже есть различные решения, поэтому я не буду повторять это здесь, но идея заключается вдополнительные замыкания, которые не разделяют одно и то же окружение.
Это распространенная ошибка.Оформите эту статью MDC для получения дополнительной информации.