5

我试图在失去焦点时隐藏子菜单项(ul)。我的结构看起来像这样

            <div id="ActionDiv" style="border-color: #0099d4; width: 120px; height: 100%">
                <ul>
                    <li><a href="#"><span id="ActionHeader">Action &nbsp; <em>
                        <img src="images/zonebar-downarrow.png" alt="dropdown" />
                    </em></span></a>
                        <ul>
                            <li><a href="javascript:TriggerAction(1)">Send Email</a></li>
                            <li><a href="javascript:TriggerAction(1)">Invite to chat</a></li>
                            <li><a href="javascript:TriggerAction(1)">Consider For Opp</a></li>
                        </ul>
                    </li>
                </ul>
            </div>

在 JQuery 中,我使用了 focusout事件来处理失去的焦点。

$("#ActionDiv>ul>li>ul").focusout(function() {
            $("#ActionDiv>ul>li>ul").hide();
});

但是上面的代码不起作用。任何人都可以推荐一种处理ul中丢失焦点事件的方法。

4

3 回答 3

5

在 jQuery 中尝试.hover()事件

$("#ActionDiv>ul>li>ul").hover(function() {
       $("#ActionDiv>ul>li>ul").show();
   },
   function(){
       $("#ActionDiv>ul>li>ul").hide();
});
于 2011-01-10T09:56:37.040 回答
4

input(and textarea)以外的元素没有原生元素(据我所知,如果我错了,请发表评论!)focusblur事件(它们旨在响应用户输入,而不是鼠标位置事件;尽管各种元素中的a元素可以ulli聚焦并且该事件可能会传播,尽管我怀疑该focusout事件不会)。

你可以使用hover()

$('#elementID').hover(
function(){
   // mouse-over
},
function(){
  // mouse-out
});
于 2011-01-10T09:58:27.017 回答
3

您似乎正在寻找mouseoutmouseover事件,而不是 focusout 事件。

于 2011-01-10T09:48:26.227 回答