IE와 Opera에서 복제된 입력 필드에 초점을 맞추는 방법은 무엇입니까?

Susan Sarandon
풀어 주다: 2024-10-31 13:23:01
원래의
380명이 탐색했습니다.

How to Focus a Cloned Input Field in IE and Opera?

IE 및 Opera에서 FOCUS 입력 필드 문제

문제:

아래 코드가 실패합니다. Internet Explorer 7에서 복제된 입력 필드에 초점을 맞추려면:

function change() {
    var input = document.getElementById('pas');
    var input2 = input.cloneNode(false);
    input2.type = 'password';
    input.parentNode.replaceChild(input2, input);
    input2.focus();
}
로그인 후 복사

IE용 솔루션:

Internet Explorer는 요소에 초점을 맞추는 데 있어 "게으른" 것으로 악명이 높습니다. 이 문제를 해결하려면 setTimeout 함수를 사용할 수 있습니다.

setTimeout(function() { document.getElementById('myInput').focus(); }, 10);
로그인 후 복사

Opera용 솔루션:

Opera에서는 생성된 요소에 초점을 설정하는 데 문제가 발생할 수 있습니다. 동적으로 표시되거나 페이지 로드 후에 표시됩니다. 잠재적인 솔루션은 다음 리소스를 참조하세요.

  • [Opera용 텍스트 상자의 필수 인덱스에 포커스를 설정하는 방법](https://stackoverflow.com/questions/2099366/how-to-set- focus-in-required-index-on-textbox-for-opera)

향상된 솔루션:

요소를 사용할 수 없는 경우를 처리하려면 즉시 다음 스니펫을 사용할 수 있습니다.

setTimeout(

    function( ) {

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

    }

, 10 ) ;
로그인 후 복사

이 코드는 요소가 사용 가능해질 때까지 10밀리초마다 해당 요소에 포커스를 다시 시도하여 느린 로딩 또는 지연된 요소 표시와 관련된 잠재적인 문제를 해결합니다.

위 내용은 IE와 Opera에서 복제된 입력 필드에 초점을 맞추는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿