javascript - 在特定实例上按下 ESC 键时关闭 jQuery 弹出窗口

标签 javascript jquery

以下代码用于使用 ESC 键关闭弹出窗口

 $(document).keyup(function(e){
     if (e.keyCode === 27) {
         closePopup(id);
     }
 });

后来我发现这是错误的,从某种意义上来说是错误的,我把上面的代码写在.ready()中,也就是说每当我按下ESC键它就会进行一些处理,所以我改成了下面的代码,这个看起来不错,但每当我悬停时,只会发生操作

$("#"+id).hover(function() {
         $(document).keyup(function(e){
             if (e.keyCode === 27) {
                 closePopup(id);
             }
         });
     });

现在我需要的是,仅当弹出窗口打开时,我需要使用 ESC 键关闭弹出窗口。
任何人都可以帮忙吗..?

我不想为此使用文档..!!

最佳答案

编辑: 删除了旧的答案误解了一些东西,第一次尝试并没有什么不好。起初我虽然你正在尝试输入,但现在我读到了它的增益(模态,对此感到抱歉

所以

$(document).keyup(function(e) {

  if (e.keyCode == 27) { <DO YOUR WORK HERE> }   // esc
});

取消绑定(bind)使用

 $(document).unbind("keyup", keyUpFunc)......

关于javascript - 在特定实例上按下 ESC 键时关闭 jQuery 弹出窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20018763/

相关文章:

javascript - 从网站 booking.com 获取用户信息

javascript - jquery 对话框位置不起作用

javascript - 仅当 mongoDB Node JS 上存在集合时才显示给客户端

jquery - 如何消除 jQuery 工具提示淡入淡出效果

optgroup 上的 jQuery 过滤器

javascript - 淡化动态更改的 (jQuery) 背景图像?

jquery - 将属性 "type"从文本更改为密码

javascript - Node.js 使用 readline 填充数组并使用

javascript - 将 scrapy 与 javascript __doPostBack 方法结合使用时出现问题

javascript - .change() 处理程序使表单需要两次点击才能提交