我能够做一个隐藏的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