Diskuze: jQuery skrytí prvku po kliknutí kamkoli mimo prvek
V předchozím kvízu, Online test znalostí JavaScript, jsme si ověřili nabyté zkušenosti z kurzu.
Zobrazeno 4 zpráv z 4.
V předchozím kvízu, Online test znalostí JavaScript, jsme si ověřili nabyté zkušenosti z kurzu.
V jQuery není žádná přímá cesta, jak to zjistit. Co ale můžeš udělat je zjistit si na co uživatel klikl. Vytvořil jsem jednoduché demo, které to ukazuje http://jsfiddle.net/urxym/ Po kliknutí na odkaz se položka seznamu vysune (proto .parent() - klikáme na odkaz, ne na li)
$('ul#testnav li a').click(function(e) {
e.preventDefault();
$(this).parent().stop().animate({ marginLeft: 20 });
});
A pokud klikneme kamkoli na stránce, ověříme si, jestli náhodou není rodič toho, kam jsme klikli náš seznam ul#testnav. Pokud není, uživatel klik mimo menu a můžeme tedy odkazy skrýt.
$(document).click(function(e) {
e = $.event.fix(e);
if($(e.target).parents('ul#testnav').length == 0)
$('ul#testnav li').stop().animate({ marginLeft: 0 });
});
Je to sice závislé na té HTML struktuře, ale snad si to budeš umět
upravit Kdyby ti něco nešlo,
tak klidně napiš, rád ti s tím pomůžu.
Zobrazeno 4 zpráv z 4.