Was ich versuche ist zu testen, wenn ein Element (ein SELECT) seinen Fokus verliert, wenn der Fokus auf ein anderes spezifisches Element (ein anderes SELECT) übertragen wurde. Ich möchte etwas auslösen, wenn der Fokus verloren ist und nicht auf einer der beiden liegt.Testen, welches Element den Fokus hat, wenn man es verloren hat
Das Problem ist, ich teste in der ersten Auswahl, wenn es den Fokus verloren hat (mit dem Blur-Ereignis), wenn die andere Auswahl es hat, aber das DOM ist noch nicht aktualisiert.
Hier ist ein exemple von dem, was ich getan habe:
$select1.on("blur", function() {
if($select2.is(":focus"))
{
// do something
}
else
{
// do something else
}
});
$ select1 und select2 $ sind nur zwei Variablen, die das Element enthalten. Ich habe gelesen, dass JQuery einen Bezeichner ": focus" hinzufügt, wenn ein Element den Fokus erhält, aber so wie ich es gemacht habe, funktioniert es nicht.
In allen Fällen geht es in die sonst "etwas anderes tun".
Ich hänge meinen Kopf in Schande, dass ich diese Lösung nicht in Betracht gezogen habe ...: P – Matt
Dank euch beiden ... jetzt funktioniert es super. – maniak
@Matt ist ein bisschen ein Hack, aber JavaScript neigt dazu, ein wenig hacky wegen der niedrigen Einstiegspunkt und Browser-Geschichte eigenartig zu sein. –