IE에서 가끔 발생하는 Input 상자에 Text 입력할 수 없는 현상 해결법
가끔 IE에서 Input 상자에 입력이 안 되는 오류를 발견하여 구글링하다 찾은 자료를 정리한 글입니다. 저는 우선 첫 번째 방법을 이용하여 문제를 해결했고, 다른 예제들은 찾은 자료를 토대로 정리했습니다. 문제는 IE9 버전부터 있던 IE 문제라고 합니다. 참고 링크를 따라가면 재현해놓은 소스도 존재하여, 참고하시면 좋을 듯싶습니다. 해결방법은 다음과 같습니다.
- iframe 실행 시 inputbox에 focus를 준다.
$("input[type=text]:not([disabled])").first().focus();
- iframe이 존재하는 DOM이 수정될 때마다 Focus를 수정해준다.
- 아무것도 하지 않는 작업을 예약시킨다.
setInterval(function () {<
var loopCount = 10000;
var x = 0;
for (var i = 0; i < loopCount; i++) {
x = (x + Math.random() * 1000) >>> 0;
}
return x;
}, 1000);
- document에서 삭제하기 전에 DOM content를 초기화 한다.
someDivWithIframe.innerHTML = "";
$(someDivWithIframe).remove();