>  기사  >  웹 프론트엔드  >  Internet Explorer와 Opera에서 `focus()`가 작동하지 않는 이유는 무엇입니까?

Internet Explorer와 Opera에서 `focus()`가 작동하지 않는 이유는 무엇입니까?

Patricia Arquette
Patricia Arquette원래의
2024-10-31 09:29:30993검색

Why Doesn't `focus()` Work in Internet Explorer and Opera?

Internet Explorer 및 Opera에서 입력 필드에 초점 맞추기

JavaScript에서 focus() 메서드를 사용할 때 특정 브라우저에서 몇 가지 문제가 발생할 수 있습니다. 이 질문은 Internet Explorer 7에서 focus()가 작동하지 않아 커서가 원하는 입력 필드 밖에 있는 문제를 강조합니다.

Internet Explorer용 솔루션:

In Internet Explorer의 focus()는 게으른 특성으로 인해 추가적인 주의가 필요합니다. 이 문제를 해결하려면 setTimeout() 함수를 활용하세요. 예:

setTimeout(function() { document.getElementById('myInput').focus(); }, 10);

Opera용 솔루션:

Opera의 경우 텍스트 상자의 필수 인덱스에 포커스를 설정하는 것과 관련된 솔루션을 살펴보세요.

지연된 요소 가용성에 대한 향상된 처리:

경우에 따라 요소를 즉시 사용할 수 없어 입력 필드에 초점이 맞지 않을 수 있습니다. 이 문제를 해결하기 위해 다음 개선된 코드는 짧은 간격 후에 포커스를 다시 시도합니다.

setTimeout(

function( ) {

    var el = document.getElementById( "myInput" ) ;
    ( el != null ) ? el.focus( ) : setTimeout( arguments.callee , 10 ) ;

}

, 10 ) ;

위 내용은 Internet Explorer와 Opera에서 `focus()`가 작동하지 않는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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