是否可以将弹出窗口(div)动态地附加到表中的某行,以便弹出窗口由鼠标悬停呈现并通过鼠标悬停操作隐藏起来?如何在TR上显示/隐藏div上的mouseover/mouseout?
我放在一起的代码(见下文)拒绝渲染弹出窗口,虽然事件处理程序被调用。
我试图做的事情真的有可能吗?从[mouseover() mouseout() jQuery add/removeClass problem,我猜这个问题可能与CSS
思想的人?
编辑: 附加到所选div元素的类按预期更新为mouseover和mouseout。
<link rel="stylesheet" type="text/css" href='mine.css' />
<html>
<head>
</head>
<body onload="doStuff();">
<table id="myTable">
<tr id="r1">
<td>R1C1</td>
<td>R1C2</td>
<td>R1C3</td>
</tr>
<tr id="r2">
<td>R2C1</td>
<td>R2C2</td>
<td>R2C3</td>
</tr>
<tr id="r3">
<td>R3C1</td>
<td>R3C2</td>
<td>R3C3</td>
</tr>
</table>
</body>
<script type="text/javascript">
function doStuff(){
var lRowCount = document.getElementById("myTable").rows.length;
for(lIter = 0; lIter < lRowCount; lIter += 1){
var lDynamicColumn = document.createElement("td");
var lmyDiv = document.createElement("div");
var lId = document.getElementById("myTable").rows[lIter].id;
// div content to be displayed as Text content;
var lText = document.createTextNode("balderdash!");
lmyDiv.id= lId + "_popup";
lmyDiv.style.display="none" ;
lmyDiv.appendChild(lText);
/*lDynamicColumn.appendChild(lmyDiv);
document.getElementById("myTable").rows[lIter].appendChild(lDynamicColumn);*/
document.getElementById("myTable").rows[lIter].appendChild(lmyDiv);
document.getElementById("myTable").rows[lIter].onmouseover = function(){
showPopup(lmyDiv.id);
}
document.getElementById("myTable").rows[lIter].onmouseout = function(){
hidePopup(lmyDiv.id);
};
}
alert(document.getElementById("myTable").innerHTML);
}
function showPopup(myId){
document.getElementById(myId).className="show";
}
function hidePopup(myId){
document.getElementById(myId).className="hide";
}
</script>
</html>
mine.css
.show{
background-color: #ffffc0;
overflow: auto;
z-index: 100;
border: .1em solid rgb(200, 128, 0);
float: right;
top: -10px;
margin: 5px;
height: inherit;
width: inherit;
position: absolute;
white-space: no-wrap;
}
.hide{
z-index: -1;
}
查看回答n1313:css文件中的'show'和'hide'应该是'.show'和'.hide' – awe 2009-10-12 12:45:11
有错字/ +:抱歉 – Everyone 2009-10-12 13:30:01