2010-01-28 3 views
1

Я занимаюсь разработкой Firefox дополнения, и для этого я использовал накладку, теперь я хочу, что если кто-то нажимает на клавишу, как управления + J он должен открыть свое расширение, и если кто-то нажимает ctrl + space он должен выполнить функцию JavaScript.XUL сочетания клавиш

Я попытался это:

<keyset id="mainKeyset"> 
    <key id="keyOpen" keycode="VK_J" oncommand="document.getElementById('menuboard').showPopup(document.getElementById('mypanel'), -1, -1, 'popup', 'topleft', 'bottomleft');"/> 
    <key id="keyExecute" modifiers="control" keycode="VK_SPACE" oncommand="javascript:myfucntion();"/> 
</keyset> 

Но где она не работает, что я пропускаю кто-нибудь может мне помочь, пожалуйста.

Спасибо,

Джасвантом

ответ

2

Я не знаю, почему, но с использованием ключа вместо клавиатурным работы:

<keyset id="mainKeyset"> 
    <key id="key1" modifiers="control" key="j" oncommand="alert(1)"/> 
    <key id="key2" modifiers="control" key=" " oncommand="alert(2)"/> 
</keyset> 

Вообще было бы лучше, если бы вы обеспечили упрощенную TestCase с простым код в oncommand и сказал, что код команды не отображается, а просто говорит «он не работает».

И oncommand = "javascript: ...." не имеет смысла. Потеряйте префикс «javascript:».

0

Да Nickolay,

Вы были правы, ключ работал вместо клавиатурного.

<key id="key1" modifiers="control" key="j" oncommand="alert('1')"/> 

В программировании иногда возникает неожиданное поведение.

Cheers,

Jaswant

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