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

后端 未结 30 3514
庸人自扰
庸人自扰 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:04

    Updated the solution to:

    • use mouseenter and mouseleave instead
    • of hover use live event binding

    var mouseOverActiveElement = false;

    $('.active').live('mouseenter', function(){
        mouseOverActiveElement = true; 
    }).live('mouseleave', function(){ 
        mouseOverActiveElement = false; 
    });
    $("html").click(function(){ 
        if (!mouseOverActiveElement) {
            console.log('clicked outside active element');
        }
    });
    

提交回复
热议问题