我试图在用户尝试按下swf文件上的某些键组合时禁用浏览器快捷方式。虽然我可以在firefox中实现这一点,但是下面的代码在ie 8中不起作用。如果焦点不在swf文件上,下面的代码可以挂钩键盘事件。但是,当用户在swf文件上操作时,我需要挂钩键盘事件。
function hookKeyboardEvents(e) {
alert("hooked key");
// get key code
var key_code = (window.event) ? event.keyCode : e.which;
// case :if it is IE event
if (window.event)
{
if (!event.shiftKey && !event.ctrlKey && !event.altKey) {
window.event.returnValue = null;
event.keyCode=0;
}
}
// case: if it is firefox event
else
e.preventDefault();
document[flashId].keyDown(key_code);
}
window.document.onkeydown = hookKeyboardEvents;
当焦点在swf文件上时,上面的代码永远不会执行。
答案 0 :(得分:1)
document.body.accessKey = String.fromCharCode(e.keyCode);