2011-12-23 117 views
1

我已经把javascript和css弹出到我的magento应用程序中。我可以通过点击关闭按钮来关闭弹出窗口,但是如果用户在弹出的页面上的其他地方(弹出窗口外)点击应该关闭。关闭通过点击身体弹出

+0

入住这 - > http://stackoverflow.com/questions/2329816/jquery-hide-popup-if -click-detected-elsewhere – Rikesh 2011-12-23 07:14:36

+0

谢谢,但不幸的是我不能在该页面中使用jquery。所以我只能用Javascript解决。 – Viralk 2011-12-23 07:16:17

+2

它是弹出式窗口还是shadowbox?你是用这种插件还是你自己的?给我们一些代码!给我们一些工作。 – 2011-12-23 07:16:57

回答

0

看到这个问题: Use jQuery to hide a DIV when the user clicks outside of it

var mouse_is_inside = false; 

$(document).ready(function() 
{ 
    $('.form_content').hover(function(){ 
     mouse_is_inside=true; 
    }, function(){ 
     mouse_is_inside=false; 
    }); 

    $("body").mouseup(function(){ 
     if(! mouse_is_inside) $('.form_wrapper').hide(); 
    }); 
}); 

所以,你检查如果鼠标是你的弹出DIV中,而当它不,你会的onclick关闭它。如果你提供了更多的代码,我们可以帮助你设置

0

也许这可以帮助你。我会推荐jQuery,但只要你不能使用它,也许这就是你的解决方案。

<script type="text/javascript"> 
    document.onclick=check; 
    function check(e){ 
    var target = (e && e.target) || (event && event.srcElement); 
    var obj = document.getElementById('body'); 
    if(target!=obj){obj.style.display='none'} 
    } 
    </script> 

如果你要 “切换”,它也许这可以帮助你:

<script type="text/javascript"> 
    document.onclick=check; 
    function check(e){ 
    var target = (e && e.target) || (event && event.srcElement); 
    var obj = document.getElementById('mydiv'); 
    var obj2 = document.getElementById('sho'); 
    if(target!=obj&&target!=obj2){ 
     obj.style.display='none' 
    } 
    else if(target==obj2){ 
     obj.style.display='block' 
    } 
    } 
    </script>