隐藏 Div onclick 外部
在我的网站上,当用户单击表单时会弹出一个 div。我正在使用 onclick 事件处理程序来显示 div。我希望当用户单击 div 以外的任何位置时 div 隐藏自身。我不能使用 onblur...因为它不适用于 div。有人可以建议替代方案吗?
谢谢。
我的代码如下所示: JavaScript:
function hideDiv() {
if (document.getElementById) { // DOM3 = IE5, NS6
document.getElementById('mydiv').style.visibility = 'hidden';
}
else {
if (document.layers) { // Netscape 4
document.mydiv.visibility = 'hidden';
}
else { // IE 4
document.all.mydiv.style.visibility = 'hidden';
}
}
}
function showDiv() {
if (document.getElementById) { // DOM3 = IE5, NS6
document.getElementById('mydiv').style.visibility = 'visible';
}
else {
if (document.layers) { // Netscape 4
document.mydiv.visibility = 'visible';
}
else { // IE 4
document.all.mydiv.style.visibility = 'visible';
}
}
}
On my website I have a div that pops up when the user clicks a form. I am using the onclick event handler for the div to appear. I want the div to hide itself when the user clicks anywhere other than on the div. I cant use onblur...because it doesnt work for divs. Can someone suggest an alternative?
Thank you.
Here is what my code looks like:
Javascript:
function hideDiv() {
if (document.getElementById) { // DOM3 = IE5, NS6
document.getElementById('mydiv').style.visibility = 'hidden';
}
else {
if (document.layers) { // Netscape 4
document.mydiv.visibility = 'hidden';
}
else { // IE 4
document.all.mydiv.style.visibility = 'hidden';
}
}
}
function showDiv() {
if (document.getElementById) { // DOM3 = IE5, NS6
document.getElementById('mydiv').style.visibility = 'visible';
}
else {
if (document.layers) { // Netscape 4
document.mydiv.visibility = 'visible';
}
else { // IE 4
document.all.mydiv.style.visibility = 'visible';
}
}
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
刚刚找到一个使用 onmouseover / out 事件处理程序的简单解决方案。
仅当变量
mouse_out
为 true 时才会调用 hideDiv() 函数。它适用于我测试过的所有浏览器,包括 IE 5。
(IE4和NS4我不知道)
Just found an easy solution using onmouseover / out event handler.
hideDiv() function is called only if variable
mouse_out
is true.It works on every browser I tested, also IE 5.
(IE4 and NS4 I don't know)
我过去处理这类事情的方法是在 div 后面创建一个透明层(使用完全透明的 BG 图像),该层在以下位置具有 CSS:
当然,只有当 Div 出现时,此 div 才“可见”顶部可见。
然后附加一个 onclick 事件处理程序以再次隐藏。
确保您的“弹出 div”的 z-index 至少为 2。
The way I handled those kind of things in the past is create a transparent layer behind the div (use a BG image that is completely transparent) which has CSS somewhere along the lines of:
This div is of course only "visible" when the Div on top is visible.
and then attach an onclick event handler to hide again.
Make sure your "pop-up div" has a z-index of at least 2.