Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/368.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery-在外部单击时关闭对话框_Javascript_Jquery - Fatal编程技术网

Javascript jQuery-在外部单击时关闭对话框

Javascript jQuery-在外部单击时关闭对话框,javascript,jquery,Javascript,Jquery,每次用户单击注册或登录链接时,都会出现一个弹出窗口。但是如果用户想要关闭弹出窗口,则应该再次单击登录或注册链接。如果在网页的其他地方单击,是否可以关闭弹出窗口 这是我的网页上下拉菜单的代码: <!---dropdown---> <script type="text/javascript"> //<![CDATA[ function showlogin(){ $("#loginbox").animate({"height": "togg

每次用户单击注册或登录链接时,都会出现一个弹出窗口。但是如果用户想要关闭弹出窗口,则应该再次单击登录或注册链接。如果在网页的其他地方单击,是否可以关闭弹出窗口

这是我的网页上下拉菜单的代码:

<!---dropdown--->
<script type="text/javascript">
    //<![CDATA[
    function showlogin(){
        $("#loginbox").animate({"height": "toggle"}, { duration: 800 });
        $("#regsiterbox").hide();
        $(".login a").css("color", "#bf1e1a");
        $(".create-account a").css("color", "#747474");
    }
    function showregister(){
        $("#regsiterbox").animate({"height": "toggle"}, { duration: 800 });
        $("#loginbox").hide();
        $(".create-account a").css("color", "#bf1e1a");
        $(".login a").css("color", "#747474");
    }
    //]]>
</script>
<!---dropdown--->

//
任何帮助都将不胜感激

试试这个

$('body').on('click',function(){
     if($("#regsiterbox").css('display') != "none"){
           $("#regsiterbox").hide();
     }
     else if($("#loginbox").css('display') != "none"){
          $("#loginbox").hide();
     }
});

将class.modal添加到页面上的每个弹出框中,并添加以下内容。单击时,它将隐藏任何带有class.modal的弹出框

$('body').on('click',function(){
     if(!$(this).hasClass('modal')){
        $(".modal").hide();
     }
});

你可以通过一个类来识别你的弹出窗口,我在这里选择了
popup
。 每当在类元素外部单击时,此代码将隐藏
弹出窗口
类元素。 因此,单击窗口不会关闭它

$("body").click(function() {
    if ($(this).attr("class") != "popup") {
       $(".popup").hide();
    }
});

你能在jsfiddle.net中说明这个问题吗?请澄清“其他地方”是什么?除了什么?在弹出窗口之外吗?是的,我的意思是在弹出窗口外。你可以考虑从下拉菜单中使用鼠标,而不是点击OutSead。
$('body').on('click',function(event){
  event.stopPropagation();     
  $(".your_popup").hide();
});