【发布时间】:2017-01-27 09:26:52
【问题描述】:
我有一个 while 循环,它将事件侦听器 (SelectRua()) 附加到 div。
我需要 SelectRua() 方法中的 div 内部文本,并且由于 div 是调用事件侦听器的东西,所以它工作正常:
$('#div' + i).on("click", function () { SelectRua(this) })
就像这样,当我点击 div 属性时,我很容易访问它。
但现在我想分配一个在点击div 时将不再可用的对象(变量):
正如我在adding 'click' event listeners in loop 和JavaScript closure inside loops – simple practical example 中看到的,经过多次尝试,我能够访问此代码:
while (morada[i]) {
$('#div' + i).on("click", function (morada) {
return function (morada) { SelectRua(morada[i]) }
}(morada))
}
点击div时,会调用SelectRua()方法,但参数是undefined,虽然我在这个例子中到处都是。
所以我的问题是,我如何设置参数的值,当它被分配给事件监听器时,事件被触发时使用?
【问题讨论】:
标签: javascript while-loop scope addeventlistener