Imam nekaj menijev HTML, ki se v celoti prikažejo, ko uporabnik klikne na glavo teh menijev. Te elemente bi rad skril, ko uporabnik klikne zunaj območja menijev.
Ali je kaj takega mogoče z jQueryjem?
$("#menuscontainer").clickOutsideThisElement(function() {
// Hide the menus
});
Na telo dokumenta pripnite dogodek klik, ki zapre okno. Posodi priložite ločen dogodek klika, ki zaustavi širjenje v telo dokumenta.
$(window).click(function() {
//Hide the menus if visible
});
$('#menucontainer').click(function(event){
event.stopPropagation();
});
Imam aplikacijo, ki deluje podobno kot Eranov primer, le da ob odprtju menija na telo pritrdim dogodek klik... Nekako tako:
$('#menucontainer').click(function(event) {
$('html').one('click',function() {
// Hide the menus
});
event.stopPropagation();
});
Več informacij o funkciji jQuery's one()
Preverite cilj dogodka klik okna (ta se mora razširiti v okno, če ni zajet nikjer drugje) in se prepričajte, da to ni nobeden od elementov menija. Če ni, potem ste zunaj menija.
Ali pa preverite položaj klika in preverite, ali je znotraj območja menija.