我有一个 Firefox 扩展,它添加了一个带有面板的工具栏小部件,该面板应在单击小部件时显示。在某些情况下,单击工具栏小部件时面板不应显示。
我正在实例化工具栏和面板,如下所示:
var popup = panel.Panel({
width: 310,
height: 400,
contentURL: self.data.url('panel.html'),
contentScriptFile: self.data.url('panel.js'),
// NOTE: You can't use the contentStyleFile option here.
});
var toolbarOptions = {
id: 'someid',
label: 'Some Label',
contentURL: self.data.url('icon-16.png'),
panel: popup
};
// There doesn't seem to be a way to remove the toolbar in PB mode.
var toolbar = widgets.Widget(toolbarOptions);
如何从小部件单击处理程序取消面板打开?无论我在那里输入什么逻辑,它似乎总是打开。
toolbar.on('click', function() {
if (dontShowPanel()){
// I want to somehow cancel the panel opening at this point.
} else {
panel.show();
}
});
我试图return false;
从似乎不起作用的点击处理程序中进行操作。我也试过打电话panel.hide()
。这似乎也不起作用。
我正在使用 1.10 版的附加 SDK。