2012-11-14 10 views
1

모바일/웹 응용 프로그램을 개발 중입니다. iPhone의 사파리 또는 Chrome 모바일 앱과 같은 모바일 브라우저에서 양식 필드를 볼 때 키보드의 다른 양식 요소 또는 '완료'를 누르지 않으면 양식 필드에 집중할 수 없습니다 ..모바일 양식 필드 - 포커스 손실

'

<!DOCTYPE html> 
<html> 
    <head> 
     <title>Test</title> 
    </head> 
    <body> 
     <form> 
      <input type="text"/> 
     </form> 
    </body> 
</html> 

을하고 난 여전히 다른 곳을 눌러 텍스트 필드의 (모바일 브라우저)에 초점을 잃을 수 없습니다 : 심지어 완전히 아래로 내 코드를 제거했습니다!

누구든지 아이디어가 있습니까?

답변

2

시도 :

document.body.addEventListener("click", function(evt) { 
    var nodeName = evt.target.nodeName.toLowerCase(); 
    if (nodeName !== "input" && nodeName !== "textarea" && nodeName !== "select") { 
    document.activeElement.blur(); 
    } 
}); 
+1

아 천재! 나는 ".body"를 제거했는데, 오류가 발생 했으므로 지금은 잘 작동합니다. 감사합니다! – Danny

+1

사실, document.addEventListener가 좋습니다. 이 이벤트 리스너는 입력이 집중되고 흐리게 처리 된 후 제거 될 때 추가 될 수 있습니다. 이렇게하면 다른 이벤트 리스너와의 충돌을 방지 할 수 있습니다. – zvona

관련 문제