我正在编写一个菜单系统,当用户单击特定行时,我需要调用一个函数。我正在使用新函数来传递调用该函数的 div 以及用户单击的行。一切都很好,直到我尝试将本地数组传递给函数。如果我执行以下操作:
for (i=0;i<tmpdropnumber;i++){
var dv=document.getElementById(id+i);
dv.style.cursor="pointer";
dv.onmouseover = new Function('dropover'+"('" + id + "','" + i + "')");
dv.onmouseout = new Function('dropout'+"('" + id + "','" + i + "')");
dv.onclick = new Function('dropclick'+"('" + id + "','" + i + "','"+tmparray1+"','"+tmparray2+"')");
}
正如您所期望的,数组作为字符串传递。我可以重建函数中的数组,但这似乎不优雅。
如果我尝试以下操作:
for (i=0;i<tmpdropnumber;i++){
var dv=document.getElementById(id+i);
dv.style.cursor="pointer";
dv.onmouseover = new Function('dropover'+"('" + id + "','" + i + "')");
dv.onmouseout = new Function('dropout'+"('" + id + "','" + i + "')");
dv.onclick = new Function('dropclick'+"('" + id + "','" + i + "',"+tmparray1+","+tmparray2+")");
}
试图传递它崩溃的数组。关于如何实现这一目标的任何想法?我在我的代码中使用 jquery,所以使用 javascript 或 jquery 解决方案就可以了。