Хорошо,
У меня есть что-то похожее на это:
for (j = 0; j < btnArr.length; j++)
{
var btn = document.createElement("button");
btn.addEventListener("click", function() { press(this, j) }, false);
div.appendChild(btn);
}
Моя проблема в том, что, поскольку событие происходит в последнее время, j
уже изменило значениепо времени срабатывает функция события.Я хочу, чтобы функция напрямую использовала значение j
при объявлении функции, а не ссылку на сам j
.
Если бы вторым параметром addEventListener
была строка, она выглядела бы каккак это:
btn.addEventListener("click", "function() { press(this, " + j + ") }", false);
Кто-нибудь знает, возможно ли это и как это сделать?
Я попытался немного поискать, но не могу найти ничего подходящего, так как проблематрудно описать правильно только несколькими словами.
Кстати, это для скрипта Greasemonkey, поэтому используется .addEventListener()
вместо .onclick = (...)