Ich versuche eine jQuery-Funktion zu schreiben, um ein div auf einen Klick zu verbergen/anzuzeigen.Verwenden von .Toggle() zum Anzeigen und Ausblenden eines Div bei Klick funktioniert nicht
Ich habe einen <a>
Tag mit der Klasse my-button
. Ein div mit der Klasse my-div
wird beim Laden der Seite zunächst mit ausgeblendet. Wenn ein Benutzer auf my-button
klickt und my-div
ausgeblendet ist, möchte ich my-div
anzeigen. Wenn my-div
sichtbar ist, möchte ich es ausblenden können, wenn ein Benutzer auf eine andere Stelle als my-div
klickt. Dazu gehört auch ein Klick auf my-button
.
<a class="my-button">Click me!</a>
<div class="my-div">Show Me or Hide Me!</div>
Ich versuchte, die .toggle()
Funktion ohne Erfolg zu verwenden; my-div
wird nach einem Klick auf my-button
nicht angezeigt. Wenn ich .toggle()
durch .show()
ersetze, wird my-div
angezeigt und ausgeblendet, wenn ich irgendwo auf der Seite aber nicht klicke, wenn ich wieder auf my-button
klicke.
$(document).mouseup(function(e) {
var $container = $(".my-div");
$(".my-button").click(function(){
$container.toggle();
});
if (!$container.is(e.target) && $container.has(e.target).length === 0) {
$container.hide();
}
});
Was wäre der beste Weg, um das zu erreichen, was ich will.