2012-06-25 3 views
7

숨겨진 텍스트 상자에 포커스를 설정하려고합니다. 텍스트 상자가 들어있는 본문이나 div가로드 될 때 포커스가 특정 텍스트 상자에 있어야 키 보드 나 다른 장치의 입력이이 요소에 의해 catch됩니다. 아무런 효과없이 다음 코드를 시도했습니다.숨겨진 텍스트 상자에 포커스를 설정하려고합니다.

<body> 
    <input type="text" id="exp" maxlength="16"></input> 
    <input type="text" id="exp2" maxlength="16"></input> 
    <script> 
     $("#exp").hide(); 
     $("#exp").focus(); 
     $("#exp2").keypress(function(){ 
      alert($("#exp").val()); 
     }); 
    </script> 
</body> 

제안 사항을 작성하십시오. jquery 솔루션이 선호 될 것입니다.

+1

숨겨진 요소는 디자인 상 포커스를 얻을 수 없습니다. 정확하게 당신이 무엇을 기대합니까 ?? 포커스가 여전히 보이고 숨길 때 포커스를 설정할 수 있습니다. –

+1

숨겨진 요소에는 display : none; 그래서 그들은 어떻게 집중 될 수 있습니다 .by Barbosa –

+0

나는 당신이 이것을하고 싶은 이유를 상상할 수 없습니다. 플러스 입력 태그는 자체 닫기 태그입니다.

답변

12

hide 메서드를 통해 숨겨진 텍스트 상자에는 포커스를 설정할 수 없습니다. 대신 화면 밖으로 이동해야합니다.

<body> 
<!-- it's better to close inputs this way for the sake of older browsers --> 
<input type="text" id="exp" maxlength="16" /> 
<input type="text" id="exp2" maxlength="16" /> 
<script> 
// Move the text box off screen 
$("#exp").css({ 
    position: 'absolute', 
    top: '-100px' 
}); 
$("#exp").focus(); 
$("#exp2").keypress(function(){ 
alert($("#exp").val()); 
}); 
</script> 
</body> 
+0

이렇게하면 #exp가 이전 장소로 되돌아 올 수 없습니다. –

+0

일반적으로보기에 돌아 오기 위해 키를 캡처하는 데 사용되는 숨겨진 텍스트 상자를 원하지 않습니다. 그러나 이전 위치로 다시 가져올 수 있습니다 :'$ ('# exp') .css ('position', 'static'); ' –

+0

내 요구 사항을 충족합니다. .. sems 비트 솔루션의 .... :) ... 어쨌든 ... –

1
visibility:hidden; 
position: absolute; 

크롬 (53)의 작품, 그리고 나단 벽의 대답으로 오프 스크린 요소를 이동하는 것보다 청소기 보인다.

관련 문제