注意:
我相信我找到了我的解决方案,对不起这篇长篇文章感到抱歉: 我在最后一个li的最后一个href上使用“focusout”。似乎到目前为止工作。
var lastLi = jQuery("#items").find('li:last');
jQuery(lastLi).last('a').focusout(function(eve){
// close em'
});
所以,我正在创建一些代码来通过CSS菜单进行选项卡。因此,我需要知道使用tab通过菜单项的人。当他们离开最后一个链接(下面的代码中的最后一个LI)并移动到下一个导航项(可能存在的链接)时,我的工作非常好。菜单坚持(保持打开状态)。我可以轻松地在该链接上放置一个密钥并只关闭之前的菜单,但因为该网站是动态的,那些“其他链接”可能不存在所以我无法真正计划跟随的链接。
我希望能做到
jQuery('#itemsForSale').bind('blur', function() {//close menu})
没有运气。
所以这是一段代码。
<ul id='siteNavigation'>
<li id="itemsForSale">
<div id="items">
<ul id='itemNav'>
<li>
<div id="menu1">
<ul>
<li>menu 1 item 1</li>
<li>menu 1 item 2</li>
</ul>
</div>
</li>
<li>
<div id="menu2">
<ul>
<li>menu 2 item 1</li>
<li>menu 2 item 2</li>
</ul>
</div>
</li>
</ul>
</div>
</li>
<li>Link that Might exist</li>
<li>AnotherLink that Might exist</li>
</ul>
所以,因为最后两个li可能会或者可能不存在,我试图在id“itemsForSale”上捕获“模糊”事件 - 没有运气。似乎没有“关键”事件。当我退出这个特定的li id =“menu 2 item 2”或者父li id =“itemsForSale”时,有没有办法知道通过tabing?
请注意,我几乎所有的其他标签等......工作得很好。但是,当用户到达最后一个项目时(在上面的例子中:菜单2项目2)并离开它,如何知道。
我也试过捕捉“itemsForSale”中的“最后一个LI” - 这也是一个不行。模糊只是似乎没有工作。我也尝试过使用setTimeout,nada。有什么建议吗?
注意:请记住,我必须使用Tab键或“shift tab”进行此确定。
jQuery("#items").find('li:last')
答案 0 :(得分:0)
你可以查看focus
事件,然后确定刚聚焦的元素是否是菜单的子元素?