2014-10-22 2 views
1

Я использую Аддон SDK 1.17 и Firefox 33.Keypress слушатель событий не работает в Mozilla SDK

Я пытаюсь реализовать что-то похожее на aardvark в аддон.

В моем сценарии контента у меня есть это, чтобы установить вещи:

self.on('message', function onMessage(activation, totarget) { 
    document.addEventListener("click", onMouseClick, true); 
    document.addEventListener("keypress", onKeyPress, true); 
    document.addEventListener("mousemove", onMouseMove, true); 
}); 

И OnKeyPress функция это, до сих пор:

function onKeyPress(event) { 
    console.log('key pressed'); 
} 

Я пытался ставить выше в нормальный html-страница:

<html> 
    <body> 
    <script> 
     function onKeyPress(event) { 
     console.log('key pressed') 
     } 
     document.addEventListener("keypress", onKeyPress, true); 
    </script> 
    </body> 
</html> 

и консоль весело записывает мои нажатия клавиш.

Не могу понять, почему это не работает в моем аддоне, так как другие события мыши и кликов работают нормально.

Я попробовал, если прослушивание было window вместо, и послушает keydown, но безрезультатно.

Я также пытался экспортировать его как XPI и установить его в моем главном Firefox, но не кости там либо

Что происходит?

ответ

2

Так получилось, что я не знал, что скрывать панель, которую я активирую обработчики, не будет восстанавливать фокус в главное окно.

Выполнение window.focus(); после активации обработчиков устраняет проблему.

Смежные вопросы