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