Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery:当另一个元素处于焦点时,如何设置要显示的隐藏元素?_Jquery_Css_Forms_Visibility - Fatal编程技术网

Jquery:当另一个元素处于焦点时,如何设置要显示的隐藏元素?

Jquery:当另一个元素处于焦点时,如何设置要显示的隐藏元素?,jquery,css,forms,visibility,Jquery,Css,Forms,Visibility,我试图在表单字段旁边显示上下文帮助,只有当这些字段处于焦点或悬停状态时,上下文帮助才可见。我尝试过仅仅使用CSS,但结果似乎非常脆弱和不一致 这是我的CSS: form .instruct { position: absolute; right: -220px; top: 10px; visibility: hidden; width: 200px; z-index: 1000; } form li:focus .instruct, form li

我试图在表单字段旁边显示上下文帮助,只有当这些字段处于焦点或悬停状态时,上下文帮助才可见。我尝试过仅仅使用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实现这一点,我也会很高兴

    谢谢

    为您更新了

    使用


    当元素通过定点设备或选项卡导航接收焦点时,焦点事件将触发。

    我发现jQuery toggle()是我希望使用的解决方案


    当文本区域处于焦点位置时,您希望所有内容都显示出来吗?谢谢——这几乎就是我所需要的!但每个字段都有自己的指令,与之一起分组在一个li元素中。选择#message时,使用此脚本可以将所有内容集中起来。是否有一种方法使其更通用,以便当每个li处于焦点或悬停状态时,该li中的指令可见?这个脚本还消除了我的悬停可见性。再次感谢您的帮助!当它们不再处于焦点时隐藏它们如何?为此,您可以将每个指令标识为唯一的名称,在本例中为唯一的类名,并遵循相同的条件,对于第二条注释,blur事件就是这样做的。我遇到的唯一问题是,使用.hide使指令链接不可读取——只要你在字段外单击,即使是链接,它也会失去焦点并消失。我用了.fadeOut(1000)代替了hide,链接又可以点击了。谢谢你的帮助!谢谢——这看起来正是我需要的,但我的javascript能力还不到学徒水平。我对XHTML和CSS有着坚定的理解,但是javascript对我来说是一种魔力。
       $(function()
       {
            $('.instruct').hide(); //hide 
            $('#message').focus(function(){  
                $('.instruct').show(); //show
            }).blur(function(){  
                $('.instruct').hide(); //hide again
            });
    
      });