【发布时间】:2010-06-16 03:48:29
【问题描述】:
我正在为包含功能键的网络模拟器编写 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。
【问题讨论】:
-
你能给我写在 IE 和 Firefox 中运行良好的代码 sn-p 吗?
-
把代码sn-p
-
请检查我发布的答案。
标签: javascript keyboard-shortcuts opera