Use jQuery to hide a DIV when the user clicks outside of it

后端 未结 30 3518
庸人自扰
庸人自扰 2020-11-21 04:28

I am using this code:

$(\'body\').click(function() {
   $(\'.form_wrapper\').hide();
});

$(\'.form_wrapper\').click(function(event){
   event.stopPropagatio         


        
30条回答
  •  予麋鹿
    予麋鹿 (楼主)
    2020-11-21 05:15

    Live DEMO

    Check click area is not in the targeted element or in it's child

    $(document).click(function (e) {
        if ($(e.target).parents(".dropdown").length === 0) {
            $(".dropdown").hide();
        }
    });
    

    UPDATE:

    jQuery stop propagation is the best solution

    Live DEMO

    $(".button").click(function(e){
        $(".dropdown").show();
         e.stopPropagation();
    });
    
    $(".dropdown").click(function(e){
        e.stopPropagation();
    });
    
    $(document).click(function(){
        $(".dropdown").hide();
    });
    

提交回复
热议问题