当用户点击其他地方时,如何隐藏弹出框?

时间:2013-03-20 15:19:52

标签: jquery

单击按钮时会出现我的弹出框,只有再次单击该按钮时它才会消失。这是我的代码:

    $(document).ready(function() {

        $('a.signUp, a.signIn').click(function() {

        //Getting the variable's value from a link 
        var popupBox = $(this).attr('href');

        if ($(popupBox).css('display')=='none'){
            // Add the mask to body
            $('#mask').show();
            //Fade in the Popup
            $(popupBox).fadeIn(300);
        } else {
            //Fade out box, and hide the mask
            $(popupBox).fadeOut(300 , function() {
                $('#mask').hide();  
            }); 
        }
        return false;

        });

    });

所以有两个按钮,用,这就是我从链接获取变量值的原因。当我点击盒子外面的任何地方时,如何让盒子消失?

3 个答案:

答案 0 :(得分:2)

试试这个

   $(popupBox).on("click", function(e){
      e.stopPropagation();
    });


    $(document).on("click", function() {
      $(popupBox).hide("fast");
    });

答案 1 :(得分:1)

$(document).mouseup(function (e)
{
    var container = $('.popup');
    if (container.is(':visible') && container.has(e.target).length === 0)
        container.fadeOut('fast');
});

答案 2 :(得分:0)

您可以使用.blur()事件或focusout()方法。它会为你做到这一点。

$('#popBoxWrapperDiv').blur(function(){
//hide the popup box
});