gpt4 book ai didi

javascript - 在 javascript 中禁用 Opera 功能键

转载 作者:行者123 更新时间:2023-11-29 20:22:57 28 4
gpt4 key购买 nike

我正在为包含功能键的网络模拟器编写 javascript 代码。用户可以按下键盘功能键来处理模拟器中的某些东西,我使用 stopPropagation 和 preventDefault javascript 函数来停止/取消浏览器调用他们的功能键快捷方式(例如 F1 将调用 Firefox 打开它的帮助页面)并且代码工作正常在 Firefox 和 Chrome 下。但是 Opera 没有工作,Opera 调用了我的函数并启动了 Opera 帮助页面。我在这里使用最新的 Opera 10.5。谁能帮忙?

此代码在 FireFox javascript 句柄中,附加在主体 HTML onkeydown 事件中:

function KeyHandler(ev)
{
if(112==ev.keyCode) {InvokeF1();return CancelKey(ev);}
if(113==ev.keyCode) {InvokeF2();return CancelKey(ev);}
...
}

function CancelKey(ev)
{
ev.stopPropagation();
ev.preventDefault();
}

IE 为 CancelKey 使用了不同的代码,它使用 ev.CancelBubble = true 和 ev.returnValue = false。

最佳答案

要阻止 Opera 中按键的默认操作,您需要在 keypress 事件中执行此操作。以下内容改编自my answer to this similar question :

var cancelKeypress = false;

document.onkeydown = function(evt) {
evt = evt || window.event;
cancelKeypress = /^(112|113)$/.test("" + evt.keyCode);
if (cancelKeypress) {
return false;
}
};

/* For Opera */
document.onkeypress = function(evt) {
if (cancelKeypress) {
return false;
}
};

关于javascript - 在 javascript 中禁用 Opera 功能键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3050611/

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