2010-01-28 3 views
1

Je développe un module complémentaire de Firefox, et que je l'ai utilisé overlay, maintenant je veux que si quelqu'un appuie sur la touche comme contrôle + j il devrait ouvrir mon extension, et si quelqu'un appuie sur ctrl + espace il devrait exécuter une fonction JavaScript.touches de raccourci XUL

J'ai essayé ceci:

<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> 

Mais où cela ne fonctionne pas ce que je manque quelqu'un peut me aider, s'il vous plaît.

Merci,

Jaswant

Répondre

2

Je ne sais pas pourquoi, mais en utilisant la clé au lieu de keycode fonctionne:

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

En général, il serait mieux si vous avez fait une testcase simplifiée avec de simples code dans oncommand et dit que le code oncommand ne semble pas être appelé au lieu de simplement dire "ça ne marche pas".

Et oncommand = "javascript: ...." n'a aucun sens. Perdre le préfixe "javascript:".

0

Ouais Nickolay,

Vous aviez raison, au lieu de clé travaillé keycode.

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

En programmation, nous obtenons parfois un comportement inattendu.

Cheers,

Jaswant

Questions connexes