触发jQuery(“#collapseMenu”).hide();按Esc键
Triggering jQuery("#collapseMenu").hide(); on pressing Esc key
如WA-ARIA 1.0键盘交互中所述,我需要实现以下行为:
当子菜单打开并且焦点在该子菜单中的菜单项上时:
- Escape或左箭头键关闭子菜单并将焦点返回到父菜单项
为了实现这一点,我在页面中添加了以下基本的javascript代码:
if (e.keyCode == 27) {
element = document.getElementById("spanID");
menuElement = document.getElementById("bigMenu");
if (element.className == "glyphicon glyphicon-menu-down") {
element.className = "glyphicon glyphicon-menu-right";
jQuery("#collapseMenu").hide();
menuElement.setAttribute('aria-expanded', false);
sessionStorage.setItem("expand", false);
}
}
这不起作用,所以这不是正确的做法。有人能指出我做错了什么吗。
如果您已经在使用jQuery,请继续使用。
$(document).on('keypress', function(e){
if (e.keyCode == 27 || e.keyCode == 37) { // escape or left key
var element = $("#spanID"),
menuElement = $("#bigMenu");
if (element.hasClass('glyphicon') && element.hasClass('glyphicon-menu-down')) {
element.removeClass('glyphicon-menu-down').addClass('glyphicon-menu-right');
$("#collapseMenu").hide();
menuElement.attr('aria-expanded', 'false');
sessionStorage.setItem("expand", false);
}
}
});
试试这个
document.onkeydown = function(evt) {
evt = evt || window.event;
if (evt.keyCode == 27) {
alert("Escape");
// Here is your code for hiding menu.
}
};
相关文章:
- electronic BrowserWindow的最小高度和宽度在hide()show()方法之后不起作用
- JQuery hide()在show()之后不起作用,反之亦然
- 使用angularjs ng Show/ng hide显示和隐藏不同的内容
- 我需要NG-IF/NG-SWITCH还是NG-SHOW&NG-HIDE
- 函数hide()、prev()、show()被组装以获得所需的结果,但无法理解其工作原理
- js函数堆栈传入变量,.hide()不起作用
- Javascript Show Hide-将切换操作从复选框更改为<a href>链接
- 使用ng-hide根据条件显示/隐藏按钮
- show-hide只在ajax调用中第一次工作
- jQuery detach() v/s remove() v/s hide()
- 无法在Chrome(打包)应用程序上检测到ESC按钮(全屏显示时)
- 请有人修复这个SHOW/HIDE表Javascript代码
- ng show和ng hide don'I don’我一秒钟都不工作
- AngularJS:使用ng-show/hide动态维护下拉列表的3种状态(InProgress、Success、Err
- jQuery.hide()不适用于我的数组
- 有没有更好的方法来编写这个Show/hide JQuery代码
- 通过单击关闭菜单和ESC关闭菜单
- 使用 Javascript 单击 ESC 时隐藏菜单
- 使用 ng-hide 切换表中的列,其中 colRessize 可调整大小
- 触发jQuery(“#collapseMenu”).hide();按Esc键