Heim >Web-Frontend >js-Tutorial >Wie erkennt man den Eingabefokus in jQuery: Hover- oder Focus-Ereignisse?
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!