2010-01-28 554 views
1

我開發一個Firefox插件,併爲我所用的覆蓋,現在我想,如果有人按下喜歡控制的關鍵 + Ĵ應該打開我的延伸,如果有人按下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> 

一般來說它會更好,如果你用簡單的提供了一個簡單的測試用例在oncommand中的代碼,並表示oncommand代碼似乎不會被調用,而不是隻是說「它不工作」。

而oncommand =「javascript:....」沒有任何意義。丟失「javascript:」前綴。

0

是的,Nickolay,

你是對的,關鍵工作,而不是鍵碼。

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

在編程中有時我們會得到意想不到的行爲。

乾杯,

賈斯萬特·