2014-01-11 54 views
0

我有一個a,當它懸停時,在其中顯示一個div。裏面那div是一個input(type="text")。當用戶懸停在a上時,div仍然可見。但是,問題是當他們鍵入input字段時,如果鼠標未在adiv上,則div將變爲隱藏狀態,並且input停止接收輸入。當輸入具有焦點時,保留Div的可見性

我怎樣才能設置它,以便只要input有焦點,div將保持可見?

這是a fiddle,它解釋了它好一點。

+0

此處的郵政編碼也請 – Phlume

+4

你可以在輸入上使用焦點狀態,在css中它的功能可能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,造成模糊後,顯示:none可能會覆蓋:hover css規則,並且永不再顯示直到頁面刷新 –

+1

好點。我已經更新了我的答案。 –

+0

該解決方案適用於我更復雜的結構。謝謝! –

相關問題