当我失去焦点时,我试图隐藏子菜单项(ul)..我的结构看起来像这样
<div id="ActionDiv" style="border-color: #0099d4; width: 120px; height: 100%">
<ul>
<li><a href="#"><span id="ActionHeader">Action <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。中的丢失焦点事件。
答案 0 :(得分:5)
在jQuery中尝试.hover()
事件
$("#ActionDiv>ul>li>ul").hover(function() {
$("#ActionDiv>ul>li>ul").show();
},
function(){
$("#ActionDiv>ul>li>ul").hide();
});
答案 1 :(得分:4)
input
(和textarea
)以外的元素没有原生(据我所知,但如果我错了就留下评论!){{ 1}}或focus
个事件(它们旨在响应用户输入,而不是鼠标位置事件;尽管中的blur
个元素各种{{ 1}}和a
元素可以聚焦,并且该事件可能会传播,但我怀疑ul
事件不会传播。
您可以使用hover()
:
li
答案 2 :(得分:3)
您似乎在寻找 mouseout 和 mouseover 事件,而非焦点事件。