我正在尝试为某些模式图像分配一个clicklistener,这些模式图像是从有效数组数组中的图像获取源的。
我尝试了以下代码:
for (m = 0; m < validimgs.length; m++)
{
canvass[m].onclick = function()
{
modal.style.display = "block";
modalImg.src = imgstoload[m].src;
$('#map').hide();
}
}
该代码的问题是,在调用onClickListener时,onclick的值为m = validimgs.length,而不是已分配的值。
这样的代码确实可以工作:
for (m = 0; m < validimgs.length; m++)
{
if (m==0)
{
canvass[0].onclick = function()
{
modal.style.display = "block";
modalImg.src = imgstoload[0].src;
$('#map').hide();
}
}
if (m==1)
{
canvass[1].onclick = function()
{
modal.style.display = "block";
modalImg.src = imgstoload[1].src;
$('#map').hide();
}
}
[And so on]
}
但是m可以是任何值,这是解决问题的可怕方法。
我该怎么做才能使其正常工作?