如何让层在鼠标在层外的位置点击时隐藏?

cyberworm 2004-09-30 11:41:42
用了如下的代码
<div id="theDiv"
style="visibility:hidden;z-index:1" onblur=hide()>

function hide (){
var oDiv = document.getElementById('theDiv');
oDiv.style.visibility = "hidden";
}

当时当鼠标移动到层上的一个按钮或输入框时,IE也认为离开层了.怎么才能让它在鼠标真正离开了层时
隐藏呢.
...全文
153 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
gaofaq 2004-09-30
  • 打赏
  • 举报
回复
<script language="JavaScript">
document.onclick = function() {
o = event.srcElement;
if (o.id != "theDiv") {
o.style.visibility = "hidden";
}
}
</script>

<body>

<div style="border: 1px solid balck" id="theDiv">
wokao
wokao a </div>

</body>
cyberworm 2004-09-30
  • 打赏
  • 举报
回复
还是没到点上
cnidb 2004-09-30
  • 打赏
  • 举报
回复
onmouseout="theDiv.style.display='none'";
cyberworm 2004-09-30
  • 打赏
  • 举报
回复
onmouseout的时候只要移出去就消失了,我想在页面其他位置点击时再小时,而且,onmouseout的时候,如果我把鼠标移到div上的一个button或者textfield上,hide()方法也被调用,这是为什么呢.
tpf9000 2004-09-30
  • 打赏
  • 举报
回复
onmouseout
hbzyduwu 2004-09-30
  • 打赏
  • 举报
回复
onblur=>onmouseout
cyberworm 2004-09-30
  • 打赏
  • 举报
回复
唉,还是自己动手丰衣足食呀.

function TimeSpan( oText, oDiv)
{
// initialize member variables
this.oText = oText;
this.oDiv = oDiv;
//if the mouse has move out the div
var mouseout = false;

oDiv.onmouseout = TimeSpan.prototype.onDivMouseOut;
oDiv.onmouseover = TimeSpan.prototype.onDivMouseOver;
oDiv.onblur = TimeSpan.prototype.onDivBlur;
}

TimeSpan.prototype.onDivMouseOut = function()
{
this.mouseout = true;
}
TimeSpan.prototype.onDivMouseOver = function()
{
this.mouseout = false;
}
TimeSpan.prototype.onDivBlur = function()
{

if(this.mouseout){
theDiv.style.visibility = "hidden";
}
}



function create(){
new TimeSpan(document.getElementById('bbb'), document.getElementById('theDiv'));
}
soonquick 2004-09-30
  • 打赏
  • 举报
回复
try this...

<html>
<head>
<script language="JavaScript">
function div_out() {
var eTo = window.event.toElement;
if (theDiv && eTo && !theDiv.contains(eTo))
document.all.theDiv.style.display="none";
}
</script>
</head>
<body>
<input type=button onclick="document.all.theDiv.style.display=''" value="Display">
<div style="border:1px solid pink; width:200px" id="theDiv" onmouseout="div_out()">
<a href="#">safdf</a>
<input type=text>
<button>sss</button>
</div>
</body>
</html>

87,901

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧