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에서는 생성된 요소에 초점을 설정하는 데 문제가 발생할 수 있습니다. 동적으로 표시되거나 페이지 로드 후에 표시됩니다. 잠재적인 솔루션은 다음 리소스를 참조하세요.
향상된 솔루션:
요소를 사용할 수 없는 경우를 처리하려면 즉시 다음 스니펫을 사용할 수 있습니다.
setTimeout( function( ) { var el = document.getElementById( "myInput" ) ; ( el != null ) ? el.focus( ) : setTimeout( arguments.callee , 10 ) ; } , 10 ) ;
이 코드는 요소가 사용 가능해질 때까지 10밀리초마다 해당 요소에 포커스를 다시 시도하여 느린 로딩 또는 지연된 요소 표시와 관련된 잠재적인 문제를 해결합니다.
위 내용은 IE와 Opera에서 복제된 입력 필드에 초점을 맞추는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!