我正在開發一個Firefox擴展,和我有一個顯示的疊加中,我把一些XUL代碼中ToolbarDisplayManager
工具欄按鈕的麻煩:嵌套彈出窗口,以popupshowing事件
<overlay id="custombutton-overlay" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<toolbarpalette id="BrowserToolbarPalette">
<toolbarbutton id="boycottToolbarButton" label="Label" tooltiptext="Label" type="menu" popup="ToolbarPopup" />
</toolbarpalette>
<popupset>
<panel id="ToolbarPopup" position="after_start" onpopupshowing="Refresh();">
<vbox class="ToolbarBody">
<box id="ToolbarDisplayManager" />
</vbox>
</panel>
</popupset>
</overlay>
內部「ToolbarDisplayManager」我創建使用JavaScript menupopup(像「組合框」)與此結構的菜單列表:
<menulist id="combo">
<menupopup>
<menuitem>
<menuitem>
...
</menupopup>
</menulist>
這裏的問題: 當我點擊ToolbarPopup
我跑在popupshowing
EV一個「刷新」功能ENT。但是,當疊加顯示時,我點擊「組合」選擇一個項目,事件popupshowing
再次被激發。換句話說,這就像兩個「彈出式窗口」彼此都有問題。
我需要在疊加顯示之前運行「刷新」功能。我的結構錯了嗎?我如何處理兩個嵌套彈出窗口和它們的popupshowing
事件?
Thanks @WladimirPalant!它完美的工作! –