我能夠做一個隱藏的div顯示/隱藏在輸入字段使用下面的代碼在焦點/模糊:jQuery:在窗體輸入焦點上,顯示div。在模糊隱藏DIV(帶一個警告)
$('#example').focus(function() {
$('div.example').css('display','block');
}).blur(function() {
$('div.example').fadeOut('medium');
});
問題是我想div.example
到當用戶在這個div內交互時繼續可見。例如。點擊或突出顯示div.example
中的文字等。但是,只要輸入不在焦點且鼠標正在與div內的元素交互,div.example
就會淡出。
輸入和div元素的HTML代碼如下:
<p>
<label for="example">Text:</label>
<input id="example" name="example" type="text" maxlength="100" />
<div class="example">Some text...<br /><br />More text...</div>
</p>
如何使它使得div.example
只有消失的輸入和/或div.example
外的用戶點擊的時候?我試着用focusin/focusout做實驗來檢查<p>
的重點,但那也沒用。
難道div.example
直接位於使用jQuery的輸入字段#example的下方嗎?這項作業的代碼如下:
var fieldExample = $('#example');
$('div.example').css("position","absolute");
$('div.example').css("left", fieldExample.offset().left);
$('div.example').css("top", fieldExample.offset().top + fieldExample.outerHeight());
我的道歉,如果這已經被問過,但很多顯示/隱藏DIV的問題,我看不涵蓋這一點。謝謝你的建議。 :)
嗨,彼得,不幸的是,div仍然消失。當你點擊或選擇div.example中的文本時,我希望它保持可見。直到用戶專門點擊其他地方,如果div消失。感謝您的幫助。謝謝:) – Lyon 2010-03-12 00:57:50
@萊昂你是對的。只是用適合你的方式更新了我的答案。 – PetersenDidIt 2010-03-12 01:45:20
謝謝彼得。我非常感謝你對此的幫助。我一直在絞盡腦汁想弄清楚如何做到這一點。是否也可以這樣做:當用戶點擊其他頁面上的文本或頁面背景(例如input/div不再焦點)時,該div.example也會消失?目前,只有當我點擊下一個輸入時,它纔會消失。非常感謝。我試圖適應你的代碼做到這一點無濟於事:( – Lyon 2010-03-12 02:38:14