gpt4 book ai didi

javascript - Safari 浏览器 keydown 事件不起作用

转载 作者:行者123 更新时间:2023-12-03 02:14:05 24 4
gpt4 key购买 nike

我正在 try catch command+r (safari)。下面的代码适用于 chrome、IE、Firefox

$(document.body).on("keydown", this, function (event) {
if (event.ctrlKey && event.keyCode == 82) {
alert('ctrl+r event fired.')
}
if (event.metaKey && event.keyCode == 82) {
alert('command+r event fired.')
}
});
需要在 Safari 浏览器上捕获此事件的帮助。

当用户在 safari 浏览器上单击 command+r 时,我想向用户显示自定义消息。

最佳答案

由于 cmd-R 强制在 Safari 上重新加载页面,因此您无法捕获此组合键。

在捕获事件之前,JavaScript 执行将停止并重新加载页面。

因此,您甚至无法使用 evt.preventDefault(); 覆盖浏览器默认行为,因为此代码永远不会被执行。

<小时/>

由于 cmd-R 对于 Safari 用户来说普遍是“重新加载页面”,因此用其他行为覆盖该行为将是糟糕的用户体验(即使有可能)。

我认为 Safari 开发人员有意避免 cmd-R 被 JavaScript 代码覆盖。如果您覆盖cmd-R(重新加载)、cmd-Q(退出)、cmd-W(关闭窗口)会怎样。从用户体验的 Angular 来看,您会“破坏”应用程序。

关于javascript - Safari 浏览器 keydown 事件不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49434039/

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