• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Windows Gadget Dropdown hide

muss_

Neues Mitglied
Hallo zusammen,
ich habe eine Windows 7 Gadget geschrieben womit man einiges durchsuchen kann und die Ergebnisse werden als Doprdown angezeigt.
Wenn man allerdings irgendwas sucht und dann z.B. mit der Maus auf Desktop drückt dann verschwindet der Dropdown nicht.
Ich habe versucht "onBlur" Event bei <body> zu machen aber hat nicht funktioniert Also:
<body onload = "DoInit()" onblur="hideDropdown()">

Gibt es eine andere Weg wie ich ein Event auslösen kann wenn das Gadget/Fenster den Focus verliert
 
du meinst wahrscheinlich dass man es auch mit IE öfnnen kann um Fehler zu sehen.
IE gibt keine Fehler aus.

Also bei mir verschwindet Dropdown erst wenn man irgendwo anders klickt und dann wieder auf den Gadget. Oder erst auf dem Gadget und dann wo anders.
 
Da ich nicht weiß, wie Gadgets aufgerufen oder integriert sind, kann ich dir nicht weiterhelfen. Wahrscheinlich verlieren sie gar nicht den focus wenn du auf den Desktop klickst, denn sie sind ja dort integriert. Versuch doch mal den onblur Handler in dem Element zu integrieren. Wenn es sich um ein Formularelement handelt sollte das klappen.
 
wenn ich "onblur" auf "textfeld" integriere dann funktioniert es, dann wird allerdings die Events, die beim drücken auf dem Dropdownlist ausgeführt werden nicht ausgeführt sondern Dropdownlist verschwindet immer.
Hast du vielleicht eine Idee wie ich die Events nacheinander ausführen lassen kann?
 
jein, ich wüßte einen anderen Weg. Du könntest den onmouseout Event des Dokumentes benutzen um zu detektieren, ob der onblur event ausgeführt werden soll oder nicht.
 
Wie meinst du das?
Ich kann bei <body> onMouseOut Event machen aber dann verschwindet Dropdownlist sofort und bei Dropdownlist klappt das auch nicht ganz.
Ich glaube du meintest auch etwas anderes, kannst du etwas genauer erklären
 
so etwas in der Art.

Code:
var allowhideDropdown = false;

document.onmouseover = function() {
allowhideDropdown = false;
}
document.onmouseover = function() {
allowhideDropdown = true;
}

und dann den Wert im textfeld Event abfragen:

Code:
onblur = function() {
if(!allowhideDropdown) return;
}
}
 
so etwas in der Art.

Code:
var allowhideDropdown = false;

document.onmouseover = function() {
allowhideDropdown = false;
}
document.onmouseover = function() {
allowhideDropdown = true;
}

und dann den Wert im textfeld Event abfragen:

Code:
onblur = function() {
if(!allowhideDropdown) return;
}
}

besten Dank struppi,
so habe ich es lösen können.
 
Zurück
Oben