【发布时间】:2014-08-05 19:03:48
【问题描述】:
我正在使用 Mozilla SDK 开发一个 firefox 扩展。情况是: 我想要一个切换/操作按钮来显示/隐藏扩展的面板。
我的代码:
// the panel
let panel = require("sdk/panel").Panel({
// ...
onHide: handleHide
});
// the button
let button = ToggleButton({
// ...
// will be executed, when user clicks the button
onChange: handleChange
});
// event handlers
function handleChange(state) {
// state.checked is always true
if (???) {
panel.show();
}
}
function handleHide() {
// un-check the button
button.state('window', {checked: false});
}
问题是,在 handleChange 内部,切换逻辑应该在哪里,我无法判断面板应该显示还是隐藏。 In the docs 有一个使用 state.checked 的示例,但由于此代码是在我单击按钮时运行的,所以 state.checked 始终为真。最后,切换不会以这种方式工作,因为单击“切换”按钮时面板永远不会隐藏。
帮助很大,我已经尝试了很多东西.. mothings 工作。 提前致谢!
【问题讨论】:
-
您使用的是 Firefox 30 吗?可能是该代码在 Firefox
标签: javascript firefox firefox-addon firefox-addon-sdk