我正在使用OpenLayers和ExtJS。在地图中,我有与地图交互时出现的弹出窗口。这些弹出窗口的HTML包含一个容器,用于创建带菜单的extjs按钮。
当您关闭弹出窗口或单击菜单/按钮时,菜单不会消失。单击按钮以显示菜单后,它仍然可见!要解决,我可以编写一些代码来手动销毁它 - 但我只是在弹出窗口关闭时触发此代码。有谁知道为什么按钮w /菜单是这样的?
在地图上创建弹出窗口时,我会启动按钮和菜单:
Map.popupMenu = new Ext.menu.Menu({
id: "ChangesGridContextMenu",
items: [{ .... }]
});
Map.popupButton = new Ext.Button({
id: "popupActions",
text: "Actions..",
menu: Map.popupMenu
});
当弹出窗口关闭时,我会破坏extjs组件:
if (Map.popupMenu !== null) {
Map.popupMenu.destroy();
Map.popupMenu = null;
}
if (Map.popupButton !== null) {
Map.popupButton.destroy();
Map.popupButton = null;
}