Heim >Web-Frontend >js-Tutorial >Wie erkennt man den Eingabefokus in jQuery: Hover- oder Focus-Ereignisse?

Wie erkennt man den Eingabefokus in jQuery: Hover- oder Focus-Ereignisse?

Susan Sarandon
Susan SarandonOriginal
2024-11-19 18:29:02817Durchsuche

How to Detect Input Focus in jQuery: Hover vs. Focus Events?

JQuery zum Erkennen des Eingabefokus verwenden

Sie möchten einen Rahmen auf einem Formularelement in einem Div beibehalten, wenn die darin enthaltene Eingabe den Fokus hat, auch wenn sich die Maus bewegt innerhalb und außerhalb der Div. Die hover()-Methode von jQuery stört jedoch das focus()-Ereignis.

jQuery 1.6

Mit jQuery 1.6 können Sie den integrierten :focus-Selektor verwenden um den Eingabefokus zu bestimmen. Verwenden Sie einfach:

$("..").is(":focus")

jQuery 1.5 und niedriger

Ben Almans empfohlene Methode für diese Aufgabe lautet wie folgt:

jQuery.expr[':'].focus = function( elem ) {
  return elem === document.activeElement && ( elem.type || elem.href );
};

Jede jQuery-Version

Wenn Sie beide Versionen von jQuery unterstützen müssen, können Sie den :focus-Selektor hinzufügen, falls er fehlt:

(function ( $ ) {
    var filters = $.expr[":"];
    if ( !filters.focus ) { 
        filters.focus = function( elem ) {
           return elem === document.activeElement && ( elem.type || elem.href );
        };
    }
})( jQuery );

Alternativ können Sie den erhalten aktuell fokussiertes Element mit:

$(document.activeElement)

Das obige ist der detaillierte Inhalt vonWie erkennt man den Eingabefokus in jQuery: Hover- oder Focus-Ereignisse?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn