Programing

jQuery로 포커스가있는 요소를 선택하는 방법

lottogame 2020. 11. 19. 07:45
반응형

jQuery로 포커스가있는 요소를 선택하는 방법


현재 초점이있는 요소를 어떻게 선택할 수 있습니까?

:focusjQuery 에는 필터 가 없으므로 다음과 같이 사용할 수 있습니다.

$('input:focus').someFunction();

이를 수행하는 가장 좋은 방법은 onFocus 이벤트에 대한 핸들러를 설정 한 다음 포커스가있는 요소의 ID에 변수를 설정하는 것입니다.

이 같은:

var id;

$(":input").focus(function () {
     id = this.id;
});

$(document.activeElement) 현재 포커스 된 요소를 반환하고 의사 선택기를 사용하는 것보다 빠릅니다. : focus.

출처 : http://api.jquery.com/focus-selector/


alert($("*:focus").attr("id"));

jQuery를 사용합니다.

요소의 ID가 초점을 맞추고 있음을 경고합니다.

도움이 되었기를 바랍니다.


시도해 보셨습니까

$.extend($.expr[':'], {
    focused: function(elem) { return elem.hasFocus; }
});

alert($('input :focused').length);

JQuery를 사용하는 경우 다음 과 같은 선택기를 작성할 수 있습니다 .

$.expr[':'].focus = function(a){ return (a == document.activeElement); }

그런 다음 현재 포커스가있는 요소를 선택할 수 있습니다. $(":focus")

폼 컨트롤 만이 포커스를 가질 수 있습니다. tabindex가있는 모든 html 요소는 최신 브라우저에서 집중할 수 있습니다.


현재 jQuery 버전 (1.7) 문서의 예에서 발췌 :

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

체크 요소에 초점이 있는지 여부.

if ($("...").is(":focus")) {
  ...
}

여기 CoffeeScript 버전이 있습니다. jmanrubia의 코드를 기반으로 :

$.expr[':'].focus = (a) -> a is document.activeElement

당신은 또한 그렇게 부를 것입니다 $(".:focus")

참고 URL : https://stackoverflow.com/questions/516152/how-to-select-an-element-that-has-focus-on-it-with-jquery

반응형