Abrufen des zuvor fokussierte Elements
Ich würde gerne herausfinden, in Javascript, das Vorherige element den Fokus hatte, im Gegensatz zu den aktuellen Fokus. Ich habe auf der Suche durch den DOM und nicht das gefunden, was ich brauche, noch. Gibt es eine Möglichkeit, dies zu tun, jede Hilfe wäre sehr geschätzt werden
InformationsquelleAutor Mick | 2010-09-03
Du musst angemeldet sein, um einen Kommentar abzugeben.
Jedes mal, wenn ein element fokussiert ist, Sie müssten, um zu speichern, welche es war. Dann, wenn ein anderes element fokussiert ist, konnte Sie abrufen die variable für den vorherigen fokussiertes element.
Also im Grunde, Sie Ihre single Fokus-handler tun würde 2 Dinge:
Hier ist eine kurze demo mit jQuery (Sie können raw JS auch... nur weniger Zeilen B jQuery, so dass es einfacher zu verstehen, imo):
arbeitet jsFiddle
InformationsquelleAutor Peter Ajtai
Gerade diese Frage, während die Lösung, die genau das gleiche problem und festgestellt, es war so alt, dass die jQuery Welt hat sich ein bisschen auf 🙂
Dies sollte eine wirksamere version des
Peter Ajtai
s-code, da es nur eine einzige Delegierte event-handler (nicht einer pro input-element).JSFiddle: http://jsfiddle.net/TrueBlueAussie/EzPfK/80/
Hinweise:
:input
selector funktioniert es mitselect
&button
Elemente sowie Eingänge.document
ist immer vorhanden.window
für den weltweiten Einsatz, so dass es nicht brauchen eine IIFE-Funktion-wrapper.focusin
funktioniert nicht in Firefox linkHaben Sie versucht, dies mit jQuery (die in der Regel kompensiert gebrochen browser-Implementierungen)? Ich habe gerade versucht mein JSFiddle jsfiddle.net/TrueBlueAussie/EzPfK/80 mit FireFox und es funktioniert Prima. 🙂
Bestätigen, es funktioniert einwandfrei in FF.
Wirklich Sinnvoll ist auch das arbeiten in FireFox und Microsoft Rand.
InformationsquelleAutor Gone Coding
Gut je nachdem, was Ihre Seite macht, es könnte schwierig sein, aber für den Anfang könnte man einen "blur" - event-handler angebracht, um die
<body>
element, das nur Verstecke der Veranstaltung Ziel.InformationsquelleAutor Pointy
Mir scheint dies eine leichte Verbesserung auf den Weg Kodierung Antwort:
... es gibt keine Festlegung in der Frage, wir reden hier ausschließlich über
INPUT
s hier: es heißt "Vorherige Elemente". Der obige code auch die Aufnahme konzentrieren, Dinge wieBUTTON
s, oder irgendetwas in der Lage ist, zu konzentrieren.InformationsquelleAutor mike rodent
Hier ist ein etwas anderer Ansatz, die Uhren sowohl
focusin
undfocusout
, in diesem Fall zu verhindern, konzentrieren sich auf eine Klasse von Eingaben:Einstellung
tabIndex
verhindert Tastatur-Benutzer von "steckenbleiben".InformationsquelleAutor John Hascall