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 중국어 웹사이트의 기타 관련 기사를 참조하세요!