问题:
为什么下面的代码不起作用?
问题:
我有一个由下拉菜单组成的菜单。 (二级导航/firefox)当我浏览网站时,它将集中在导航的第一级。它不会深入到该下拉列表的各个元素中。当我使用 chrome 循环浏览时,它只会循环浏览菜单的前两个选项卡。
我正在尝试的代码:
$('#cssmenu ul li').focus(function() {
$('#cssmenu li ul a').focus();
});
菜单链接:http://www.casa.gov.au
要回答最初的问题,您的代码无法正常工作的原因之一是焦点事件在 <a>
上触发。 #cssmenu
中的标签订单项,但您将焦点监听器附加到 <li>
标签。
这可能会实现焦点事件的初衷,但可能无法解决跳转问题:
$(function(){
$('#cssmenu ul li a').focus(function() {
var parentLi = $(this).parent();
if(parentLi.find("ul").length > 0){
parentLi.find("ul li:first a").focus();
}
});
});
我在这个 jsFiddle 中测试了它 http://jsfiddle.net/ryKZu/3/
我是一名优秀的程序员,十分优秀!