Я пишу код JavaScript для веб-эмулятора, содержащий функциональные клавиши.Пользователь может нажимать функциональные клавиши клавиатуры для обработки чего-либо в эмуляторе, я использовал функции JavaScript StopPropagation и protectDefault, чтобы останавливать / отменять браузеры, вызывающие их функциональные клавиши (например, F1 вызывает Firefox для открытия страницы справки), и код работает нормальнопод Firefox и Chrome.Но Opera не работает, Opera вызывает обе мои функции и запускает страницу справки Opera.Я использую последнюю версию Opera 10.5 здесь.Кто-нибудь может помочь?
этот код находится в дескрипторе JavaScript FireFox, и он прикреплен к событию onkeydown HTML основного тела:
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.