2014-01-11 3 views
0

나는 a이며, 내걸었을 때 div이 표시됩니다. 그 안에 divinput(type="text")입니다. 사용자가 a을 가리키면 div가 계속 표시됩니다. 그러나 input 필드에 입력 할 때 마우스가 a 또는 div을 넘지 않으면 div이 숨겨져 input이 입력을받지 못하는 것입니다.입력에 포커스가있을 때 Div의 가시성 유지

input에 포커스가있는 한 div이 계속 표시되도록 설정하려면 어떻게해야하나요?

여기에 조금 더 설명하는 a fiddle이 있습니다.

+0

여기에 코드도 함께 입력하십시오. – Phlume

+4

입력에 초점 상태를 사용할 수 있습니다. 가능한 경우 http://jsfiddle.net/7TS62/1/ –

+0

@GCyrillus, 작동하는 것처럼 보이지만 조정하려면 어떻게해야합니까? 더 복잡한 구조? http://jsfiddle.net/7TS62/2/ –

답변

1

이처럼 수행

<a> 
    <div class="hidden"> 
     <input type="text" /> 
    </div> 
</a> 

$("input") 
.on("focus", function(){ 
    $("div").removeClass("hidden"); 
}) 
.on("blur", function(){ 
    $("div").addClass("hidden"); 
}); 

fiddle

편집 :

input:focus 솔루션은 많은 청소기, 떨어져 사실에서 그 아래 IE7 이상에서 작동하지 않는 것을 (이것은 당신과는 관계가 없다).

+1

해결책은 괜찮지 만 추가/classname 제거, 흐리게 표시 후 원인 표시 : 없음은 : hover CSS 규칙을 무시할 수 있으며 페이지를 새로 고칠 때까지 다시 표시되지 않습니다. –

+1

좋은 지적. 내 대답을 업데이트했습니다. –

+0

이 솔루션은 제 복잡한 구조와 잘 작동합니다. 감사! –

관련 문제