div与selec的问题,急,在线等
为了解决div遮挡select的问题,我使用了用iframe遮挡的方法,由于div是在脚本中生成,所以iframe我也在脚本中生成,我要实现的效果是,当鼠标在div上移走时,iframe也同时消失,代码如下,红色代码部分是重点,我在写下下述代码之后,实现的效果是当第一次点击按钮弹出div时,鼠标移动效果是好用的(也就是移出时div与iframe同时消失),但是当我在不关闭页面的情况下,重新点击按钮,再次弹出div时,就会报如下的错:
出现了运行时错误
是否要进行调试
行:0
错误:'document.all(...).style'为空或不是对象
请高手指教,万分感谢,谢谢
代码:
var strCurrentButtonAction = parent.document.all("DivAppCommentWindow").all.namedItem("WindowHeadName").innerText;
if(strCurrentButtonAction == "")
return;
var strAction = GetCommentType(strCurrentButtonAction);
var arrayComment = commentArray[strAction];
if(arrayComment == "" || arrayComment == undefined)
{
alert("<%=CommonResource.GetValue(CookiesManager.GetInfo(CookiesNaming.LOGON_REGION),2309)%>");
return;
}
//构建显示Table控件
var strComment = "<table id='TableComment' class='TableDefaultComment'><tr><td height='5px'></td></tr>";
for(i = 0;i < arrayComment.length;i++)
{
strComment = strComment + "<tr onmouseover=\"javascript: this.className='CommentMouseOver';\" onmouseout=\"javascript: this.className='';\" ><td style='border-bottom:solid #c7c7c7 1px'><span ";
strComment = strComment + "onclick=\"javascript:document.all('txtApproveNote').value = this.nextSibling.innerText; document.all('DefaultComment').style.display='none';\"";
strComment = strComment + "class='CommentTip' style='padding-left:8px;padding-right:5px;' onmouseover='this.title=this.nextSibling.innerText;'>";
strComment = strComment + arrayComment[i].replace(/<br>/g,"\r\n");
strComment = strComment + "</span>";
strComment = strComment + "<span style='display:none' id='"+arrayComment.length+"'>" + arrayComment[i] + "</span>"
strComment = strComment + "</td></tr>";
}
strComment = strComment + "<tr><td height='10px'></td></tr></table>";
//填充到DIV并显示
var objPopWindow = parent.document.getElementById("DefaultComment");
if (objPopWindow == null)
{
var strPopWindowContainer = "<div id='DefaultComment' style='z-index:100;position:absolute;' class='DivDefaultComment' onmouseout='javascript:this.style.display=\"none\";document.all(\"DivShim\").style.display=\"none\";'";
strPopWindowContainer = strPopWindowContainer + "onmouseover='javascript:this.style.display=\"block\";document.all(\"DivShim\").style.display=\"block\";'>";
objPopWindow = parent.document.createElement(strPopWindowContainer);
parent.document.body.insertBefore(objPopWindow);
}
bjPopWindow.innerHTML = strComment;
objPopWindow.style.position = "absolute";
objPopWindow.style.left = 450;
objPopWindow.style.top = 205;
objPopWindow.style.width = 450;
objPopWindow.style.height = 165;
objPopWindow.style.overflowX = "visible";
objPopWindow.style.display = "block";
var test = "<iframe id=\"DivShim\" src=\"about:blank\" onmouseout='this.style.display=\"none\"' onmouseover='this.style.display=\"block\"' scrolling=\"no\" frameborder=0 style=\"position:absolute; top:0px; left:0px; display:none;\"></iframe>"
var objc = parent.document.createElement(test);
parent.document.body.insertBefore(objc);
objc.style.width = objPopWindow.offsetWidth;
objc.style.height =objPopWindow.offsetHeight;
objc.style.top = objPopWindow.style.top;
objc.style.left =objPopWindow.style.left;
objc.style.zIndex = objPopWindow.style.zIndex-1
objc.style.display = "block";