我正在尝试在表单字段旁边显示上下文帮助,只有在这些字段处于焦点或悬停时才会显示。我尝试过使用纯粹的CSS,但结果看起来非常脆弱且不一致。
这是我的CSS:
form .instruct {
position: absolute;
right: -220px;
top: 10px;
visibility: hidden;
width: 200px;
z-index: 1000;
}
form li:focus .instruct, form li:hover .instruct {
visibility: visible;
}
在我的标记中,我使用有序列表为表单提供了一些结构,并使用li
元素中的指令对每个字段进行分组:
<form>
<ol>
[...]
<li>
<label for="message">Message</label>
<textarea id="message" name="message"></textarea>
<div class="instruct">
<p>Instructional text and <a href="#">Formating help.</a></p>
</div>
</li>
[...]
当鼠标悬停在字段上时会显示说明,但是当字段处于焦点时则不会显示 - 如果鼠标移动以在上下文指令中选择链接,则它们会消失。
每个字段都有自己的指令,当相应字段处于焦点或悬停状态时,我需要显示每个字段。
我认为这可能是jquery可以让生活更轻松的情况。有没有快速的方法来实现这一目标?如果使用原始CSS有可靠的方法,我也会对此感到满意。
谢谢!
答案 0 :(得分:9)
为您更新了blur event
$(function()
{
$('.instruct').hide(); //hide
$('#message').focus(function(){
$('.instruct').show(); //show
}).blur(function(){
$('.instruct').hide(); //hide again
});
});
答案 1 :(得分:1)
使用focus event。
当元素通过指点设备或标签导航获得焦点时,焦点事件将触发。
答案 2 :(得分:0)
我发现jQuery toggle()是我希望使用的解决方案。