Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/tfs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Firefox addon 节目焦点小组_Firefox Addon_Firefox Addon Sdk - Fatal编程技术网

Firefox addon 节目焦点小组

Firefox addon 节目焦点小组,firefox-addon,firefox-addon-sdk,Firefox Addon,Firefox Addon Sdk,我正在使用插件生成器在插件工具栏中创建一个图标,打开一个面板 var panel=require(“panel”).panel({ contentURL:data.url(“panel.html”), contentScriptFile:[ data.url(“panel.js”), ] }); var小部件=新小部件({ id:“玩家”, 标签:“玩家”, contentURL:data.url('icon.png'), 小组:小组, }); 我希望面板在单击图标后立即获得焦点。如果我之前用

我正在使用插件生成器在插件工具栏中创建一个图标,打开一个面板

var panel=require(“panel”).panel({
contentURL:data.url(“panel.html”),
contentScriptFile:[
data.url(“panel.js”),
]
});
var小部件=新小部件({
id:“玩家”,
标签:“玩家”,
contentURL:data.url('icon.png'),
小组:小组,
});
我希望面板在单击图标后立即获得焦点。如果我之前用鼠标点击激活了面板,下面的代码将向插件发送keyup事件

$(文档).keyup(函数(事件){
event=event | | window.event;
self.port.emit('keyup',event.keyCode);
返回false;
});

有没有一种方法可以立即聚焦面板并按下报告键?

我认为问题在于,在打开面板时,而不是在加载文档时,您需要在内容脚本中运行代码。为此,当面板对象上发出面板事件“show”时,需要向内容脚本中发出一个事件。下面是一个如何工作的示例:

main.js:

var数据=需要(“自身”)数据;
var面板=需要(“面板”)。面板({
contentURL:data.url('panel.html'),
contentScriptFile:[data.url('jquery.js')、data.url('panel.js')]
});
panel.on('show',function(){
console.log('main:opened panel')
panel.port.emit('opened',true);
});
面板端口on('keyup',功能(keyCode){
控制台日志(keyCode);
});
require(“widget”).widget({
id:'我的小部件',
contentURL:data.url('favicon.ico'),
标签:“单击以获取面板…”,
面板:面板
});
panel.js:

$(函数(){
$(文档).keyup(函数(事件){
event=event | | window.event;
self.port.emit('keyup',event.keyCode);
返回false;
});
self.port.on('opened',函数(数据){
console.log('面板:打开的面板')
$(“#我的输入”).focus();
});
});
以下是Builder中的一个工作示例:


似乎只有在定义一个可以聚焦的输入字段时才起作用。但是有没有可能在没有它的情况下激活窗口?你的意思是,你想在没有输入字段的情况下捕获按键?是的,我使用这一行:$(文档)。keyup(函数(事件){在keyup上侦听似乎只通过聚焦表单元素或在面板打开后单击来工作。