2011-12-23 121 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>