2011-11-19 3 views
2

홈 스크린 앱으로 실행되지만 모든 CSS/HTML/자바 스크립트에서 실행되는 iPad 용 맞춤 애플리케이션을 만들고 있습니다. (여기서 SDK를 사용하지 않음)iOS5 Safari : 키보드가 홈 화면에서 숨기지 않습니다. HTML 앱

키보드가 숨겨져 있지 않은 내 페이지에 내장 된 계산기로 문제가 발생했습니다. 내가 무엇을해도 키보드는 그대로 있습니다. 이 문제를 광범위하게 조사하고 생각할 수있는 모든 것을 시도했지만 키보드는 내가하는 일과 상관없이 계속 머물러 있습니다. 내가 키보드를 숨기려 한 내용의

설명 :

나는 포커스를 제거하기 위해 모든 입력 필드를 흐리게하기 위해 노력했다. 비 텍스트 필드 항목에 포커스를 설정하려고했습니다.

금년도/작년 초부터 Stackoverflow에 몇 가지 스레드가 있었지만 두 옵션 모두 제안했지만 더 이상 작동하지 않는 것으로 나타났습니다.

추가로 테스트하려면, 계산기 위의 img에 href = "#"빈칸을 두어 비 항목에 포커스를두고 키보드가 자동으로 최소화되는지 확인하십시오. 키보드 위의 항목을 탭하면 포커스가 변경되고 더 이상 입력 모드가 아니지만 키보드는 그대로 있습니다.

Apple에서 최신 업데이트로이 기능을 사용하지 않았습니까? 그렇다면 해결 방법이 있습니까? 여기

이 작동하지 않습니다 몇 가지 예제 코드입니다 :

$('input').blur(function(e) { 
     // Keyboard disappeared 
      window.scrollTo(0, 1); 
    }); 

그 코드가 성공적으로 입력에서 포커스를 제거하지만 키보드까지 유지됩니다. 나는 또한 텍스트 요소가 아닌 것에 초점을 맞추어 그 반대를 시도했다. 그리고 앞서 언급했듯이, 페이지에 비 텍스트 요소를 추가했는데 여전히 키보드를 숨기지 않았습니다.

어떤 도움을 주셔서 감사 드리며 실수로 다시 게시 한 경우 링크를 사용하거나 남용 해주십시오. :)

답변

0

당신처럼 뭔가를 사용하여 흐리게 할 수 있어야한다이

$('input').blur(); 
당신은 당신이 그것을 해제하고자하지 않는 한이 사라 할 때 일어나는 함수/프로 시저 내부에서이 문제를 놓아야합니다

완전히?

+0

또는 $ 같은 심지어 뭔가 ('body'). focus(); 초점을 잃을 수도있다. – Owen

0

document.activeElement.blur() try catch 블록 내에서 작동합니다. (아마도 당신은 또한 setTimeout이 필요합니까? 나는 타임 아웃이 필요 없으며, 더러운 하이 센 버그를 쉽게 일으킬 수 있기 때문에 가능한 한 타임 아웃을 피하는 것이 중요합니다!)

또한 포커스를 호출하지 않는다는 것을 다시 확인하십시오) 어딘가 mousedown 또는 클릭 이벤트 (키보드가 표시됩니다) 이내에. console.log(document.activeElement.tagName); 또는 이와 유사한 것을 사용하면 현재 포커스가있는 것을 찾을 수 있습니다.

당신이 그때 당신이 머물 수있는 키보드 얼마나보고 매우 관심 을 나는 해결책을 찾을 수없는 그러나 경우에 ... 그 :-)에 대한 사용이

관련 문제