Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/13.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
Javascript jQuery选项卡和shift+;选项卡以显示导航_Javascript_Jquery_Html_Css_Accessibility - Fatal编程技术网

Javascript jQuery选项卡和shift+;选项卡以显示导航

Javascript jQuery选项卡和shift+;选项卡以显示导航,javascript,jquery,html,css,accessibility,Javascript,Jquery,Html,Css,Accessibility,我试图在对子菜单中的父项进行Tab时显示子导航,然后在对子菜单进行Tab或shift+Tab时隐藏 这是我的JS。我有第一个和最后一个语句,但不能得到最后一个。我做错了什么 //显示子导航 jQuery('.has child,.currenthas child').keydown(函数(e){ if(e.keyCode==9&&!e.shiftKey){ jQuery(this.children().show(); } }); //SHIFT+TAB按钮 jQuery(“.li子菜单:第一个

我试图在对子菜单中的父项进行Tab时显示子导航,然后在对子菜单进行Tab或shift+Tab时隐藏

这是我的JS。我有第一个和最后一个语句,但不能得到最后一个。我做错了什么

//显示子导航
jQuery('.has child,.currenthas child').keydown(函数(e){
if(e.keyCode==9&&!e.shiftKey){
jQuery(this.children().show();
}
});
//SHIFT+TAB按钮
jQuery(“.li子菜单:第一个子菜单”).keydown(函数(e){
if(e.keyCode==9&&e.shiftKey){
jQuery(this.parent().hide();
控制台日志(“选项卡优先”);
}
});
//选项卡按钮
jQuery('.li子菜单:最后一个子菜单').keydown(函数(e){
if(e.keyCode==9&&!e.shiftKey){
jQuery(this.parent().hide();
控制台日志(“最后一个选项卡”);
}
});

像这样的东西

[显示当前时具有子菜单并隐藏同级。要不隐藏同级,只需在
li.keydown
事件中删除
.end()
之后的代码即可]

/*这里我只需将每个事件分配给一个变量,以便于实现*/
var myEvents={
点击:功能(e){
jQuery(this).children('ul').show().end().siplines('li').find('ul').hide();
},
向下键:功能(e){
e、 停止传播();
如果(e.keyCode==9){
if(!e.shiftKey&&jQuery('nav li').index(jQuery(this))==(jQuery('nav li').length-1))jQuery('nav li:first').focus();
else if(e.shiftKey&&jQuery('nav li').index(jQuery(this))==0)jQuery('nav ul:first>li:last').focus().blur();
}
},
键控:功能(e){
e、 停止传播();
如果(e.keyCode==9){
如果(myEvents.cancelKeyup)myEvents.cancelKeyup=false;
else myEvents.click.apply(这是参数);
}
}
}
jQuery(文档)
.on('click','li',myEvents.click)
.on('keydown','li',myEvents.keydown)
.on('keyup','li',myEvents.keyup)
//这是保持选项卡焦点正确所必需的
jQuery('nav li')。每个(函数(i){this.tabIndex=i;});
/*下面只是为了让带有子菜单的菜单更引人注目*/
每个函数(i){if(jQuery(this).children('ul').length)jQuery(this.addClass('highlight');})
li ul{显示:无;}
.highlight>a{背景:黄色;}

按钮
像这样的东西

[显示当前时具有子菜单并隐藏同级。要不隐藏同级,只需在
li.keydown
事件中删除
.end()
之后的代码即可]

/*这里我只想