当前位置: 首页 > 面试题库 >

javascript捕获浏览器快捷方式(ctrl + t / n / w)

强志学
2023-03-14
问题内容

是否可以捕获这些快捷方式?

  • Ctrl+N
  • Ctrl+T
  • Ctrl+W

我试过了,但是没有用:

$(window).keydown(function(event) {
  console.log(event.keyCode);
  event.preventDefault();
});

当我按下T它时,它会显示84在控制台中,但是如果按下Ctrl+,T它什么都不会显示,并打开一个新选项卡。

我想捕获这些快捷方式并阻止任何浏览器操作。


问题答案:

样例代码

$(window).keydown(function(event) {
  if(event.ctrlKey && event.keyCode == 84) { 
    console.log("Hey! Ctrl+T event captured!");
    event.preventDefault(); 
  }
  if(event.ctrlKey && event.keyCode == 83) { 
    console.log("Hey! Ctrl+S event captured!");
    event.preventDefault(); 
  }
});

Firefox

(已测试6.0.1)

在Firefox中,两个事件侦听器均有效。如果按Ctrl``T或键Ctrl``S组合,则将在控制台上同时显示两条消息,并且浏览器不会打开选项卡,也不会要求保存。

这是intresting,如果你使用alert的不是console.logevent.preventDefault()不是的作品,并打开一个新的标签,或者要求保存。可能需要修复此错误。

Chrome3

在Chrome 3中,它的工作方式类似于Firefox。

Chrome4

(已测试)

在Chrome4中,某些控制键组合仅保留供浏览器使用,并且不能再由网页中的客户端JavaScript拦截。
这些限制在Chrome3中不存在,并且与Firefox3 / 3.5和IE7 / 8(在Windows上)均不一致。

在Chrome 4中,除了某些键盘组合外,它的工作方式与Firefox类似:

  • Ctrl``N

  • Ctrl``Shift``N

  • Ctrl``T

  • Ctrl``Shift``T

  • Ctrl``W

  • Ctrl``Shift``W

这些组合不能被Javascript捕获, 但是
嵌入插件可以捕获这些组合。例如,如果您聚焦于YouTube视频并按Ctrl``T,则浏览器将不会打开新标签

IE7 / 8

它的工作方式类似于Firefox或Chrome3。

IE9

(已测试)

IE9再次成为败类,因为它不允许javascript捕获任何Ctrl``?键盘事件。我测试了许多键盘组合(R,T,P,S,N,T),但都没有用。嵌入的应用程序也无法捕获事件。经过YouTube视频测试。



 类似资料:
  • 问题内容: 我的用户希望能够点击+ 来保存表格。有没有一种跨浏览器的好方法来捕获+ 组合键并提交我的表格? 应用程序基于Drupal构建,因此可以使用jQuery。 问题答案: 各个浏览器的键码可能不同,因此您可能需要检查的字符数不止115个。

  • 问题内容: 我想通过拦截文档对象(而不是accesskey属性)的keypress事件处理程序,来为Web应用程序中的几个页面添加对键盘快捷键的支持。 问题是,每个浏览器都有自己的组合键,因此不可能拿出一套键盘组合可在所有网络浏览器的工作,但一致的。(例如,它会是愚蠢的,如果在保存快捷为++ ,而一个要删除的是+ 。) 因此,我认为在我的几个页面中完全覆盖浏览器快捷方式会更简单。 撇开所有不利因素

  • 问题内容: 当用户更改页面缩放时,是否可以使用JavaScript检测?我只是想捕获一个“缩放”事件并对其进行响应(类似于window.onresize事件)。 谢谢。 问题答案: 无法主动检测是否有变焦。我在这里找到了如何尝试实现它的好方法。 我发现了两种检测缩放级别的方法。检测缩放级别变化的一种方法取决于不缩放百分比值的事实。百分比值是相对于视口宽度的,因此不受页面缩放的影响。如果您插入两个元

  • 问题内容: 我想捕获浏览器窗口/选项卡关闭事件。我已经尝试使用jQuery以下内容: 但这也适用于表单提交,这不是我想要的。我想要一个仅在用户关闭窗口时才触发的事件。 问题答案: 每当用户出于任何原因离开您的页面时,都会触发该事件。 例如,如果用户提交表单,单击链接,关闭窗口(或选项卡)或使用地址栏,搜索框或书签进入新页面,则将触发该事件。 您可以使用以下代码排除表单提交和超链接(其他框架除外):

  • 本文向大家介绍javascript 获取浏览器版本,包括了javascript 获取浏览器版本的使用技巧和注意事项,需要的朋友参考一下 工作中需要通过JS去获取当前使用的浏览器的名字以及版本号,网上大堆资料都有一个关键词是 navigator.appName,但是这个方法获取的浏览器的名字只有两种要么是IE要么就是Netscap,倒是可以用来判断是否使用了IE,但是我想获取具体的浏览器产品名字比如

  • 关于快捷方式 您可以仅使用键盘导航Eclipse用户界面 - 使用与菜单和菜单项关联的助记符。 使用与对话框或视图或编辑器中的控件关联的助记符。 使用与工具栏上的菜单项和按钮等操作关联的加速器。 可以通过单击Ctrl + Shift + L调用的“键辅助”操作向我们显示Eclipse中可用的所有加速键或快捷键。 可以使用“键”首选项页面更改分配给操作的组合键。 Eclipse中有许多命令或操作,没