日期:2014-05-16  浏览次数:20404 次

设计中,遇到的问题,不知该如何解决,希望高手帮帮忙,谢谢,在线等!!急!!!
function   administrationNoticeMenuInit()
{
        var   row   =   document.createElement( "tr ");
        var   cell=null,img=null;  
        for(var   i=0;i <4;i++)
        {
                cell   =   document.createElement( "td ");
                img   =   document.createElement( "img ");
                img.setAttribute( "id ", "administrationNotice "+i);
                img.setAttribute( "src ", "../images/index1_0 "+i+ ".jpg ");
                if(document.uniqueID)
                {
                        img.style.cssText   =   "cursor:   hand; ";      
                }
                else
                {
                        img.setAttribute( "style ", "cursor:   hand; ");
                }
                img.onclick   =   function()   {   administrationNoticeInit(   i   )   };
                cell.appendChild(img);
                row.appendChild(cell);
        }
        administrationNoticeMenu.appendChild(row);
}
administrationNoticeInit(index)
{
alert(index);
}
在界面上生成的四个图片,点击任何一个图片,都会提示为4,而不是0,1,2,3。
问题出现在img.onclick   =   function()   {   administrationNoticeInit(   i   )   };中,但不知道该如何解决啊!请高手们帮帮忙,急啊,在线等!

------解决方案--------------------
img.onclick = function() { new Function( "administrationNoticeInit( "+ i+ " ) ") };


查查闭包问题,上面只是一种解决方法,还有别的方法