>웹 프론트엔드 >JS 튜토리얼 >jQuery를 사용하여 입력에 포커스가 있는지 확인하는 방법은 무엇입니까?

jQuery를 사용하여 입력에 포커스가 있는지 확인하는 방법은 무엇입니까?

Patricia Arquette
Patricia Arquette원래의
2024-11-15 03:22:02455검색

How to Check if an Input Has Focus Using jQuery?

jQuery를 사용하여 입력에 포커스가 있는지 테스트

이 딜레마는 jQuery를 사용하여 < 이외의 요소에 대한 CSS :hover 동작을 복제할 때 발생합니다. ;a> IE6에서는.

양식 내의 입력에 포커스가 있고 마우스 커서가 안팎으로 움직이면 사라집니다.

이 문제를 해결하기 위해 jQuery를 사용하여 양식 내의 입력에 포커스가 있는지 확인할 수 있습니다. 그러나 jQuery에는 :focus 선택기가 없기 때문에 대체 방법을 사용해야 합니다.

jQuery 1.6

jQuery 1.6 이상에서는 :focus 선택기를 사용할 수 있습니다. 다음 코드를 사용하여 포커스를 확인할 수 있습니다.

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

jQuery 1.5 이하

이전 jQuery 버전의 경우 다음 코드를 사용하여 새로운 선택기로 초점을 확인하세요:

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

또는 어떤 요소에 초점이 있는지 확인할 수도 있습니다 사용:

$(document.activeElement)

모든 jQuery 버전

다른 jQuery 버전과의 호환성을 보장하려면 다음과 같이 :focus 선택기를 추가할 수 있습니다.

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

포커스 테스트를 통해 입력에 포커스가 맞춰지고 커서가 해당 영역에 있을 때 테두리가 사라지는 것을 방지할 수 있습니다. 밖으로.

위 내용은 jQuery를 사용하여 입력에 포커스가 있는지 확인하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.