1

我正在开发一个 Firefox 插件,为此我使用了覆盖,现在我希望如果有人按下control+之类的键j,它应该打开我的扩展程序,如果有人按下ctrl+ space,它应该执行一个 JavaScript 函数。

我试过这个:

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

但是,如果我想念的东西不起作用,任何人都可以帮助我,拜托。

谢谢,

贾斯万

4

2 回答 2

2

我不知道为什么,但是使用 key 而不是 keycode 有效:

<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:”前缀。

于 2010-01-29T13:56:22.007 回答
0

是的,尼古拉,

你是对的,key 工作而不是 keycode。

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

在编程中,有时我们会遇到意想不到的行为。

干杯,

贾斯万

于 2010-07-14T07:28:14.623 回答