我有以下问题: 我在一个iframe中有一个extjs菜单,当我在这个iframe外面点击时,菜单不会崩溃,就像我在菜单所属的同一iframe中点击一样。
你们对如何解决这个问题有所了解吗? 这实际上发生在失去焦点时应该隐藏的任何组件。所以,如果你们碰巧知道的话,我很乐意看到一个更通用的解决方案。
谢谢!
P.S。:我正在使用版本3.2
答案 0 :(得分:0)
虽然我不知道您的父框架是否也在运行ExtJS应用程序,但您可能需要使用XDM(跨域消息传递)。 https://developer.mozilla.org/en-US/docs/Web/API/Window.postMessage
然后,您需要在父框架上添加一个侦听器,以便在窗口中单击,并将该click事件传递给iframe。然后,iframe会根据需要处理点击,在您的情况下会解雇菜单。
答案 1 :(得分:0)
对于仍在寻找解决方案的人。
你可以解决Extjs菜单并隐藏父框架中的所有打开菜单,如下所示(在父项点击事件中为fe):
var menu = window.frames[0].[ExtApplicationName].app.getController('[CONTROLLER]').getMenu().items.items
接下来,您可以循环浏览菜单项并通过执行以下操作隐藏它们:
menu[i].menu.hide();