首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

在面板外点击封锁面板

2012-10-20 
在面板外点击关闭面板功能要求:在面板外点击关闭面板比如现在有个打开的DIV,只要在DIV外点击,DIV就关闭,即

在面板外点击关闭面板
功能要求:
在面板外点击关闭面板
比如现在有个打开的DIV,只要在DIV外点击,DIV就关闭,即消失。

求各位大大指教!

[解决办法]

HTML code
<script type="text/javascript">function handle(e){    e=window.event||e;    var tag=e.srcElement||e.target;    if(tag.id!='testdiv'){        document.getElementById("testdiv").style.display='none';    }}window.onload=function(){    document.body.onclick=handle;}</script><div id="testdiv" style="width:600px;height:300px;border:1px solid #bfbfbf"></div>
[解决办法]
探讨

HTML code
<script type="text/javascript">
function handle(e){
e=window.event||e;
var tag=e.srcElement||e.target;
if(tag.id!='testdiv'){
document.getElementById("testdiv").style.d……

[解决办法]
我试了一楼的代码,在层的右外侧点击,可以让层隐藏,但是在层的下方点击,没反应,使用谷哥和火狐浏览器进行的测试
探讨

HTML code
<script type="text/javascript">
function handle(e){
e=window.event||e;
var tag=e.srcElement||e.target;
if(tag.id!='testdiv'){
document.getElementById("testdiv").style.d……

[解决办法]
判断下鼠标点击的对象是否在面板中就好,不再就隐藏

JScript code
    //扩展非IE浏览器下的contains方法    if (window.Element) Element.prototype.contains = function (o) { if (this == o) return true; while (o = o.parentNode) if (o == this) return true; return false; }    var popID = 'xxxx';///////面板总容器ID    document.onclick = function (e) {        e = e || window.event;        var o = e.srcElement || o.target;        if (!document.getElementById(popID).contains(o)) //如果点击的对象不包含在面板中则隐藏        document.getElementById(popID).style.display = 'none';    }
[解决办法]
思路不难,就是你用个大的DIV 包住你要关闭的DIV 当你点击小的DIV外面时候会调用大的DIV的单击事件,去判断小的DIV是否是显示的,如果是显示的就关闭它!

热点排行