gpt4 book ai didi

jquery - javascript 捕获浏览器快捷键 (ctrl+t/n/w)

转载 作者:IT王子 更新时间:2023-10-29 02:53:18 26 4
gpt4 key购买 nike

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

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

我试过了,但没用:

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

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

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

最佳答案

在Javascript中捕获Ctrl键盘事件

示例代码:

$(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();
}
});

火狐

(6.0.1 测试)

在 Firefox 中,两个事件监听器都可以工作。如果您按 CtrlTCtrlS 组合键,您将在控制台和浏览器上收到消息不会打开标签页,也不会要求保存。

有趣的是,如果您使用 alert 而不是 console.log,则 event.preventDefault() 将不起作用,并且打开一个新标签或要求保存。也许这个错误需要修复。


Chrome3

在 Chrome 3 中,它像在 Firefox 中一样工作。


Chrome4

(已测试)

In Chrome4, certain control key combinations have been reserved for browserusage only and can no longer be intercepted by the client side JavaScriptin the web page.
These restrictions did not exist in Chrome3 and are inconsistent with bothFirefox3/3.5 and IE7/8 (on Windows).

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

  • CtrlN

  • CtrlShiftN

  • CtrlT

  • CtrlShiftT

  • CtrlW

  • CtrlShiftW

Javascript 无法捕获这些组合,嵌入插件可以捕获这些组合。例如,如果您专注于 Youtube 视频并按 CtrlT,浏览器将不会打开新标签页。


IE7/8

它像在 Firefox 或 Chrome3 中一样工作。


IE9

(已测试)

IE9 又是害群之马,因为它不允许 javascript 捕获任何 Ctrl? 键盘事件。我测试了很多键盘组合(R、T、P、S、N、T),但都没有用。嵌入式应用程序也无法捕获该事件。使用 Youtube 视频进行测试。


感谢@Lime为了伟大link .

关于jquery - javascript 捕获浏览器快捷键 (ctrl+t/n/w),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7295508/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com