Firefox_javascript 스킬에서 반복적으로 입력 포커스를 얻을 수 없는 문제 해결

WBOY
풀어 주다: 2016-05-16 16:44:25
원래의
1163명이 탐색했습니다.

오늘 매우 어려운 문제에 직면했습니다. 입력 상자 확인을 할 때 내 프로젝트의 비즈니스 논리는 선택 항목의 특정 옵션을 선택할 때 사용자가 입력하는 항목을 표시해야 한다는 것이었습니다. 사용자가 아무것도 하지 않으면 사용자가 입력할 수 있도록 경고 상자가 나타나야 합니다. 여기서는 입력 내용을 숨기겠습니다.

따라서 다음과 같은 문제가 발생합니다. 입력 입력 상자가 표시되면 자동으로 포커스를 받아야 합니다. 이때

복사를 사용합니다. code 코드는 다음과 같습니다.

document.getElementById('id').focus();

글쎄요. 그것을 시도했고 효과가 있었습니다. 나는 행복할 수밖에 없었습니다. 끝났습니다!

하지만 신은 사람만큼 좋지는 않네요. Firefox로 테스트해보니 처음 입력이 표시될 때는 사용하기 쉬웠지만 알림 상자를 닫으면 끝났습니다. , 입력이 초점을 맞출 수 없습니다. 당황스럽습니다!

문제가 어려운데 이유를 모르겠어서 인터넷에서 전문가들의 해결 방법을 조금 찾아보다가 다음과 같은 방법을 찾아 실행해 보았는데 정말 잘 되더라구요!

경고 후 원본
을 복사하여 다음과 같이 코드를 복사합니다.

document.getElementByIdx('id').focus();


코드 복사 코드는 다음과 같습니다.
window.setTimeout(function () { document.getElementById('id').focus();}, 0)

좋습니다. 문제가 해결되었습니다!

setTimeout은 로딩 후 지정된 시간을 지연한 후 이전 표현식을 실행한다는 의미입니다. 물론 여기서는 0ms의 지연 후에 함수가 실행됩니다.

방금 이 문제를 해결했는데 왜 Firefox에서 해결되는지 모르겠습니다. 아시는 분은 메시지를 남겨주시면 감사하겠습니다.
관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿