帮忙实现这个简单效果

limii 2009-03-01 10:55:25
页面上有一对Div标签,我希望鼠标在这标签所处位置之外的任何地方点击之后该标签隐藏,但在该标签本身上面点击时不会使它隐藏。
我自己写的两句代码(如下)不能用,因为在该标签上面点击时也会让它隐藏起来

<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
<title>Untitled Page</title>
</head>
<body >
<form runat ="server" id="form1">
<div id="div1">aaaaaaa</div>
</form>
</body>
<script language ="javascript" >
function a()
{
var div1=document.getElementById('div1');
div1.style.visibility='hidden'
}
document.onmousedown=a;
</script>
</html>
...全文
91 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
limii 2009-03-01
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 jimu8130 的回复:]
if(event.srcElement.id == divID)
document.getElementById('divID').style.display = "";
else
document.getElementById('divID').style.display = "none";
------------
ie下面是有srcElement,不过firefox下面是target
[/Quote]
妈的,把window改成document就行了。疑惑中...,总之,问题解决了,结帖了,分都给你。谢谢了!
jimu8130 2009-03-01
  • 打赏
  • 举报
回复
if(event.srcElement.id == divID)
document.getElementById('divID').style.display = "";
else
document.getElementById('divID').style.display = "none";
------------
ie下面是有srcElement,不过firefox下面是target
limii 2009-03-01
  • 打赏
  • 举报
回复
jimu8130兄不要汗了,今天深圳也降温了,呵呵。你代码的思路我学习了,虽然代码放到文件里还是没反应,
但我想应该是这个思路吧。可能是event挑浏览器的问题,我再看看,谢了你的思路
jimu8130 2009-03-01
  • 打赏
  • 举报
回复
我自己写的两句代码(如下)不能用,因为在该标签上面点击时也会让它隐藏起来

HTML code
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
<title>Untitled Page </title>
</head>
<body >
<form runat ="server" id="form1">
<div id="div1">aaaaaaa </div>
</form>
</body>
<script language ="javascript" >
function a()
{
var div1=document.getElementById('div1');
div1.style.visibility='hidden'
}
document.onmousedown=a;
</script>
</html>
------------
为什么你的不能用?因为你的js处理代码并没有和任何事件绑定即没有触发源头,如何有作用了?
=----------------
汗,收回这句话,没看到下面的onmousedown,我的也改下!

window.onmousedown= function()
{
if(event.srcElement.id == divID)
document.getElementById('divID').style.display = "";
else
document.getElementById('divID').style.display = "none";
}
limii 2009-03-01
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 jimu8130 的回复:]
引用 3 楼 yagebu1983 的回复:
你的脚本没有执行。。

执行了的,一点击“aaaaaaa”就消失了。你的机上没执行???
----------
楼主的问题是要在标签外点击就隐藏,你的? --!
[/Quote]
对 了!理解对得不能再对了。给个代码吧
limii 2009-03-01
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 jimu8130 的回复:]
我自己写的两句代码(如下)不能用,因为在该标签上面点击时也会让它隐藏起来

HTML code
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
<title>Untitled Page </title>
</head>
<body >
<form runat ="server" id="form1">
<div id="div1">aaaaaaa </div>
</form>
</body>
<script language ="javascript" >
function a()
{
var div1=document.getElementById('div1');
div1…
[/Quote]
这是第二位仁兄没注意了。我的原文件中脚本最后不是写了document.onmousedown=a; 吗?所以当然在页面上点
鼠标后一定会执行方法a的。其实写成<body onmousedown="a()">也一样。但问题的关键是我写的这个方法a
不对,请知道的哥们给个对的代码。谢 谢
jimu8130 2009-03-01
  • 打赏
  • 举报
回复
window.onkeypress= function()
{
if(event.srcElement.id == divID)
document.getElementById('divID').style.display = "";
else
document.getElementById('divID').style.display = "none";
}
jimu8130 2009-03-01
  • 打赏
  • 举报
回复
引用 3 楼 yagebu1983 的回复:
你的脚本没有执行。。

执行了的,一点击“aaaaaaa”就消失了。你的机上没执行???
----------
楼主的问题是要在标签外点击就隐藏,你的? --!
jimu8130 2009-03-01
  • 打赏
  • 举报
回复
我自己写的两句代码(如下)不能用,因为在该标签上面点击时也会让它隐藏起来

HTML code
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
<title>Untitled Page</title>
</head>
<body >
<form runat ="server" id="form1">
<div id="div1">aaaaaaa</div>
</form>
</body>
<script language ="javascript" >
function a()
{
var div1=document.getElementById('div1');
div1.style.visibility='hidden'
}
document.onmousedown=a;
</script>
</html>
------------
为什么你的不能用?因为你的js处理代码并没有和任何事件绑定即没有触发源头,如何有作用了?
limii 2009-03-01
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 yagebu1983 的回复:]
你的脚本没有执行。。
[/Quote]
执行了的,一点击“aaaaaaa”就消失了。你的机上没执行???
yagebu1983 2009-03-01
  • 打赏
  • 举报
回复
你的脚本没有执行。。
limii 2009-03-01
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 the_pain 的回复:]
HTML code<htmlxmlns="http://www.w3.org/1999/xhtml"><headid="Head1"runat="server"><title>Untitled Page</title></head><body><formrunat="server"id="form1"><divid="div1">aaaaaaa</div></form></body><scriptlanguage="javascript">functiona() {vardiv1=document.getElementById('div1'); div1.style.display='none'} document.onmousedown=a;</script></html>
[/Quote]
也不行啊,在标签上点击时也会让它隐藏起来,我要的是在标签之外的地方点才隐藏
the_pain 2009-03-01
  • 打赏
  • 举报
回复

<html xmlns="http://www.w3.org/1999/xhtml" > <head id="Head1" runat="server"> <title>Untitled Page</title> </head> <body > <form runat ="server" id="form1"> <div id="div1">aaaaaaa</div> </form> </body> <script language ="javascript" > function a() { var div1=document.getElementById('div1'); div1.style.display='none' } document.onmousedown=a; </script> </html>

62,268

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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