myhappycoding
myhappycoding

Reputation: 658

jquery, how to avoid hide menu when i click on it

I am trying to do the following code which works fine:

/*
** SHOW OR HIDE A MENU DEPENDING IF I CLICK OUTSIDE OR INSIDE
*/
function showBasket(){
    var $basket=$('#basket');
    var nstyle=$basket.css("display");
    if (nstyle=='none'){
        $basket.fadeIn(false,function(){//showing the basket
            $('html').bind("click",function(){
                $basket.fadeOut();//hidding the basket
                $("html").unbind("click");
            });
        });
    }
}

Is there possible to avoid that the layer 'basket' doesn't hide when i click on it? My problem is that when i click in the html documen,t it hides, and i want that, but i also dont want to include the layer 'basket' in that event, because i have controls to use in the layer.

I would appreciate any help or idea, thank you in advance!!

Upvotes: 1

Views: 61

Answers (1)

Jimmery
Jimmery

Reputation: 10119

try this

function showBasket(){
    var $basket=$('#basket');
    var nstyle=$basket.css("display");
    $basket.on('click',function(e){
        e.stopPropagation();
        return false;
    }
    if (nstyle=='none'){
        $basket.fadeIn(false,function(){//showing the basket
            $('html').bind("click",function(){
                $basket.fadeOut();//hidding the basket
                $("html").unbind("click");
            });
        });
    }
}

Upvotes: 1

Related Questions