javascript - Hvordan få tak i det fokuserte elementet med jQuery?


Hvordan kan jeg bruke jQuery for å få input-elementet som har markørens (cursorens) fokus?

Eller med andre ord, hvordan avgjøre om en input har markørens fokus?

Svar #1

// Get the focused element:
var $focused = $(':focus');

// No jQuery:
var focused = document.activeElement;

// Does the element have focus:
var hasFocus = $('foo').is(':focus');

// No jQuery:
elem === elem.ownerDocument.activeElement;

Hvilken bør du bruke? sitat fra jQuery-dokumentasjonen:

Som med andre pseudo-klassevelgere (de som begynner med ":"), anbefales det å sette :focus foran et taggnavn eller en annen velger; ellers er universellvelgeren ("*") underforstått. Med andre ord, den rene $ ('`:focus`') er ekvivalent med $ ('`*:focus`'). Hvis du leter etter det elementet som for øyeblikket har fokus, vil $ ( document.activeElement ) hente det uten at du må søke gjennom hele DOM-treet.

Svaret er:

document.activeElement

Og hvis du vil ha et jQuery-objekt som omslutter elementet:

$(document.activeElement)

Svar #2

$( document.activeElement )

Vil hente det uten å måtte søke gjennom hele DOM-treet som anbefalt i jQuery-dokumentasjonen

Relaterte artikler