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
