Heim >Web-Frontend >js-Tutorial >Wie überprüfe ich mit jQuery, ob eine Eingabe den Fokus hat?
Verwenden von jQuery zum Testen, ob eine Eingabe den Fokus hat
Dieses Dilemma entsteht, wenn jQuery zum Replizieren des CSS-:Hover-Verhaltens für andere Elemente als < verwendet wird ;a> im IE6. Die Grenze um das
Um dieses Problem zu beheben, kann jQuery verwendet werden, um zu überprüfen, ob eine Eingabe innerhalb des Formulars den Fokus hat. Da jQuery jedoch keinen :focus-Selektor hat, müssen alternative Methoden eingesetzt werden.
jQuery 1.6
Ab jQuery 1.6 ist ein :focus-Selektor verfügbar. Der folgende Code kann verwendet werden, um den Fokus zu überprüfen:
$("..").is(":focus")
jQuery 1.5 und niedriger
Für frühere jQuery-Versionen kann der folgende Code verwendet werden, um a zu definieren Neuer Selektor und auf Fokus prüfen:
jQuery.expr[':'].focus = function(elem) { return elem === document.activeElement && (elem.type || elem.href); };
Alternativ können Sie überprüfen, welches Element den Fokus hat, indem Sie Folgendes verwenden:
$(document.activeElement)
Für alle jQuery-Versionen
Um die Kompatibilität mit verschiedenen jQuery-Versionen sicherzustellen, können Sie den :focus-Selektor wie folgt hinzufügen:
(function ($) { var filters = $.expr[":"]; if (!filters.focus) { filters.focus = function(elem) { return elem === document.activeElement && (elem.type || elem.href); }; } })(jQuery);
Durch Testen des Fokus kann verhindert werden, dass der Rahmen verschwindet, wenn eine Eingabe den Fokus erhält und der Cursor schwebt rein und raus.
Das obige ist der detaillierte Inhalt vonWie überprüfe ich mit jQuery, ob eine Eingabe den Fokus hat?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!