2009-07-16 15 views
0

Wenn Sie die folgende url im Internet Explorer (IE6/7/8) öffnen und den Mauszeiger über den Link "Find Portrait" bewegen, wird ein Popup angezeigt. Wenn Sie versuchen, einen Wert aus dem Dropdown-Menü Monat oder Jahr auszuwählen, verliert der Internet Explorer den Fokus und das Popup wird geschlossen. Es sollte nicht geschlossen werden. Dies geschieht nur im Internet Explorer. jQuery v.1.3.2 wird für die Ereignisbehandlung verwendet. Irgendwelche Vorschläge zu diesem Problem? Vielen Dank!Internet Explorer/jQuery Fokus Problem

+0

Der Versuch, auf Ihre Seite zuzugreifen ... Ich denke, jeder macht das gleiche, weil es so verdammt langsam ist! : P – Seb

Antwort

0

auf dem Mouseout-Handler, verstecken Sie das Feld nicht, bevor Sie ein Flag prüfen. Setzen Sie die Flagge, wenn Sie die Maus über die Datumsauswahl bewegen, und heben Sie die Maustaste auf, wenn Sie die Maustaste loslassen.

1

Ihr Problem ist, dass Sie mouseover und mouseout Funktionen verwenden. Verwenden Sie stattdessen hover(), das sollte verschachtelte Elemente für Sie berücksichtigen.

Das Problem ist, dass, wenn Sie das Element SELECT schweben, tatsächlich Ihre Blase verlassen, und es ist geschlossen.

Wie gesagt, verwenden Sie stattdessen hover().

+0

@Seb, das Mouseover() zu Hover() zu ändern, hat nicht funktioniert. – dalizard

+0

Könnten Sie bitte Ihren neuen Code posten? Sie sollten hover() sowohl mit der Blase als auch mit den Links verwenden. Ziehen Sie auch die Verwendung eines Flags in Betracht, wie mkoryak sagte: Wenn Sie das nav und bubble eingeben, setzen Sie eine gemeinsame Variable auf TRUE; wenn es draußen ist, setze es auf FALSE. Wenn Sie also die Blase ausblenden möchten, prüfen Sie, ob dieses Flag auf TRUE gesetzt ist oder nicht; Das sagt Ihnen, ob der Benutzer über eines der beiden Dinge verfügt. – Seb

+0

@Sed, ich habe es mit einer Flagge versucht - hat gut funktioniert. Das Problem kommt tatsächlich von dem Ereignis, das sprudelt. Wenn Sie das Element Element behebt das Problem. Offensichtlich gibt es einige andere Probleme wie die Tatsache, dass hier nicht immer Arbeit zitiert wird, aber ich werde morgen mehr Zeit darauf verwenden. 'setTimeout' wird wahrscheinlich der Schlüssel sein, wenn man mit IE kämpft. Danke Seb für die Hilfe! – dalizard