Ich habe ein Menü, das erscheint, wenn ich auf ein Symbol klicke. Momentan kann ich es schließen, indem ich auf das Symbol 'Schließen' klicke, aber ich möchte es schließen können, indem ich irgendwo außerhalb des Menüs klicke, wenn das Menü sichtbar ist.
Hier ist ein jsFiddle: Ссылка
Zum Beispiel funktioniert das Folgende nicht:
%Vor%Ich habe ähnliche Fragen wie jQuery: Element bei Klick irgendwo anders außer dem Element ausblenden und Wie erkenne ich einen Klick außerhalb eines Elements? , konnte aber die Lösungen nicht für mich arbeiten lassen.
EDIT: Ich frage mich, ob is (": visible") mit jQuery "animate" funktioniert?
Verwenden Sie CSS-Attribut left
zu erkennen, ob das Menü statt :visibe
sichtbar ist, weil es bietet Arbeit mit Chrome finden Sie unter jquery .is (": visible ") funktioniert nicht in Chrome .
Sie müssen nur feststellen, ob das Menü sichtbar ist (benutzen Sie das css-Attribut links), wenn das Menü css left=0px
bedeutet, dass es sichtbar ist, und danach, wenn click
außerhalb des Menüs ist oder nicht und so if draußen schließe es.
Werfen Sie einen Blick auf Ihre Aktualisierung Geige funktioniert nur durch die Zugabe von folgendem handle
das Erkennen von Außenklick:
JS:
%Vor%Aufruf schließen Funktion an beliebiger Stelle auf Fenster klicken. Und nutze Ereignisblasen. Ich hatte es aktualisieren seine jsfiddle Link ist
%Vor%Ich schlage vor, dass Sie ein Ereignis beim Klicken auf ein Dokument binden, nachdem das Menü angezeigt wurde, das Ereignis, das sicherstellt, dass jeder Klick außerhalb des Menüs es schließt.
%Vor%Hier müssen Sie das Ereignisobjekt auswerten und was es auslöst - welches Element, wenn es sich innerhalb des Menüs befindet (abgesehen von der Schließen-Schaltfläche), dann kein Nufern, wenn es draußen ist - dann schließen Sie das Menü. Alle abschließenden Sachen werden zur getrennten Funktion gebracht. vergessen Sie auch nicht, diesen Handler nach dem Schließen vom Dokument zu trennen
Tags und Links javascript jquery