我正在尝试为我的引导加载项动态创建一个关键元素。目前,我创建keyset
元素并将其附加到document.getElementById('mainKeyset').parentNode
与appendChild()
,然后创建key
元素(myKey
)并将其附加到keyset
。我设置了key
的id
,modifiers
和key
属性,然后执行myKey.addEventListener('command', function() {myFunction()});
向key
添加函数。在此之后,我可以通过做myKey.doCommand()
成功拨打myFunction()
。但是,当我按下我在key
的属性中指定的修饰符和键时,什么都不会发生。如何动态和安全地设置XUL密钥?
我试图避免设置command
和oncommand
属性,因为我知道动态设置oncommand
存在安全问题,但也许我需要以某种方式使用它们?我有seen it stated,如果没有命令或oncommand设置,密钥无法工作,所以也许无法设置其中一个密钥就无法动态创建密钥。如果我将oncommand设置为“void(0);”,则我的事件侦听器有效(按照给出的示例here)。但是,我不知道这样的事情是否可以通过Mozilla的扩展审批流程。