Antworten auf deine Fragen:
Neues Thema erstellen

DivBox ausblenden mit JS wenn irgendwo ANDERS geklickt

Amateur_builder

Verrückter Interessent

Hallo Leute, um euch gleich ein Beispiel zu geben: Das Ausklappbare "Mein PSD" Menü dieses Forums in der oberen rechten Ecke. Wenn man mit der Maus drüber fährt, öffnet es sich, logisch, kann man mit onmouseover machen. Jetzt ist es allergins so, dass es sich wieder schließt, wenn man IRGENDWO anders hinklickt. Ich habe ein ähnliches aufklappmenü erstellt, was sich auch öffnet. Allerdings habe ich das schließen nur mit einem anderen Div hinbekommen. Wenn man dann darauf klickt, schließt es isch wieder. Aber während man die Box offen hat, kann man keine Links anklicken, die nicht in dem aufgeklappten Menü sind. Bei dem Forum hier geht das. Wüsste einer von euch einen Lösungsansatz, den ich verfolgen könnte? Wenn möglich in normalem JS, weil ich von jQuery noch nichts verstehe.
LG Amateur_builder
 

cebito

undefined

AW: DivBox ausblenden mit JS wenn irgendwo ANDERS geklickt

Mausevents überwachen -> entsprechend reagieren... für genauere Informationen bitte Testcase einstellen.
 

Amateur_builder

Verrückter Interessent

AW: DivBox ausblenden mit JS wenn irgendwo ANDERS geklickt

Klingt gut mit den mousevents. Wrde mir bei google gleich mal was reinziehen. Danke ;-)
 

Amateur_builder

Verrückter Interessent

AW: DivBox ausblenden mit JS wenn irgendwo ANDERS geklickt

Mausevents überwachen
Jetzt habe ich bei Google ziemlich viele Treffer gefunden. Ich möchte das erstmal Testweise mit Firefox machen für die Rechte Maustaste. Ich habe diesen Code gefunden:
Code:
function doSomething(e) {
     var rightclick;
     if (!e) var e = window.event;
     if (e.which) rightclick = (e.which == 3);
     else if (e.button) rightclick = (e.button == 2);
     alert('Rightclick: ' + rightclick); // true or false 
}
Aber dieser funktioniert nicht. Ich habe diese Funtkion via
Code:
<body onload="doSomething()">
Aufgerufen, aber es passiert nichts. Wenn ich jetzt Testweise ein ALERT() dazusetze, um zu gucken ob die Funktion überhaupt ausgeführt wird, wird der Alarm ausgegeben, aber nicht das eigentliche mit der Maustaste. Wie habe ich diese Funktion anzuwenden?
LG Amateur_builder
 
Zuletzt bearbeitet:

Amateur_builder

Verrückter Interessent

AW: DivBox ausblenden mit JS wenn irgendwo ANDERS geklickt

Ist noch jemand da? Wie gesagt, leider funktioniert es auf diese Weise nicht. Hat nicht einer ein einfaches Skript, was ich benutzen dürfte?
lg Amateur_builder
 

cebito

undefined

AW: DivBox ausblenden mit JS wenn irgendwo ANDERS geklickt

Der Funktionsaufruf im body-onload nutzt dir so nichts...
HTML:
<script>
function doSomething(e){
    switch(e.which){
        case 1:
            alert('links, X=' + e.pageX + ' Y=' + e.pageY);
            break;
        case 2:
            alert('mitte, X=' + e.pageX + ' Y=' + e.pageY);
            break;
        case 3:
            alert('rechts, X=' + e.pageX + ' Y=' + e.pageY);
            break;
        default:
            break;
    }
}
document.addEventListener('click', doSomething, false)
</script>
Ich geb dir gleich mal die Mausposition mit aus, ist ja auch noch wichtig für dich ;)
 

Amateur_builder

Verrückter Interessent

AW: DivBox ausblenden mit JS wenn irgendwo ANDERS geklickt

@cebito
Boah, wie geil. Ich danke dir vielmals. Ich hatte solange gesucht, ich war wohl nur zu dumm danach zu suchen, wie ich die Funktion richtig Aufrufe. Vielen Dank, damit lässt sich mein Problem sicher lösen. Danke
LG Amateur_builder
 

fakerer

Aktives Mitglied

AW: DivBox ausblenden mit JS wenn irgendwo ANDERS geklickt

gibt es ein wunderbares rightclick plugin für jquery.

oder hier eins ohne jquery hier

ahh da hat meine suche nach einer Lösung ohne Jquery wohl zu lange gedauert^^
 

cebito

undefined

AW: DivBox ausblenden mit JS wenn irgendwo ANDERS geklickt

Im Endeffekt ist es aber uninteressant für dich, welche Maustaste gedrückt wird (der IE hat da andere Ansichten [1=links, 2=rechts, 4=mitte]) wichtig ist ja nur, daß das event eintritt. Also kannst du eigentlich die Switch weglassen, und direkt nur die Position mitnehmen und schauen, ob du außerhalb deines div bist.
 

Amateur_builder

Verrückter Interessent

Ja, denke, so werde ich es machen. Danke nochmal!

Aber eine letzte Frage bleibt noch, nur reine Neugierde, denn das, was ich vorhatte, klappt schon. Es heißt ja ADD eventlistener. Also ist es doch auch theoretisch möglich, wieder einen eventlistener zu entfernen, oder? So document.deleventlistener, oder?^^
lg Amateur_builder

Edit:
Ahh, habs gefunden. Google ist dein Freund, heißt es ja immer^^
removeEventListener ist es^^
 
Zuletzt bearbeitet von einem Moderator:
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.636
Beiträge
1.538.485
Mitglieder
67.559
Neuestes Mitglied
hanuta
Oben