好吧,
我有一些看起来像这样的东西:
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 = (...)