使用 MenuBuilder 框架创建 DOM 元素的上下文菜单涉及两个步骤。首先使用
Menu.createFromXML()
或
Menu.createFromJSON()
方法创建定义菜单结构的 NativeMenu 实例。然后,通过调用
Menu.setAsContextMenu()
方法将该菜单指定为 DOM 元素的上下文菜单。因为上下文菜单由单个菜单组成,所以菜单数据结构中的顶级菜单项充当单个菜单中的项目。包含子菜单项的任何菜单项定义子菜单。若要将 NativeMenu 指定为 DOM 元素的上下文菜单,请调用
Menu.setAsContextMenu()
方法。此方法需要两个参数:设置为上下文菜单的 NativeMenu 和分配给 DOM 元素的 ID(一个字符串):
var treeContextMenu = air.ui.Menu.createFromXML("treeContextMenu.xml");
air.ui.Menu.setAsContextMenu(treeContextMenu, "navTree");
如果省略 DOM 元素参数,则此方法将使用调用该方法的 HTML 文档作为默认值。换句话说,该菜单将设置为 HTML 文档的整个窗口的上下文菜单。此技术通过传递
null
作为第一个参数,因此很容易从整个 HTML 窗口中删除默认上下文菜单,如本例所示:
air.ui.Menu.setAsContextMenu(null);
还可以从任何 DOM 元素中删除已分配的上下文菜单。调用
setAsContextMenu()
方法,并传递
null
和元素 ID 作为两个参数。
|
|
|