IE에서 가끔 발생하는 Input 상자에 Text 입력할 수 없는 현상 해결법

가끔 IE에서 Input 상자에 입력이 안 되는 오류를 발견하여 구글링하다 찾은 자료를 정리한 글입니다. 저는 우선 첫 번째 방법을 이용하여 문제를 해결했고, 다른 예제들은 찾은 자료를 토대로 정리했습니다. 문제는 IE9 버전부터 있던 IE 문제라고 합니다. 참고 링크를 따라가면 재현해놓은 소스도 존재하여, 참고하시면 좋을 듯싶습니다. 해결방법은 다음과 같습니다.

  1. iframe 실행 시 inputbox에 focus를 준다.
$("input[type=text]:not([disabled])").first().focus();
  1. iframe이 존재하는 DOM이 수정될 때마다 Focus를 수정해준다.
  2. 아무것도 하지 않는 작업을 예약시킨다.
setInterval(function () {<
    var loopCount = 10000;
    var x = 0;
    for (var i = 0; i < loopCount; i++) {
        x = (x + Math.random() * 1000) >>> 0;
    }
    return x;
}, 1000);
  1. document에서 삭제하기 전에 DOM content를 초기화 한다.
someDivWithIframe.innerHTML = "";
$(someDivWithIframe).remove();

참고 사이트

+ Recent posts