创建 DOM 元素上下文菜单

Adobe AIR 1.0 和更高版本

使用 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 作为两个参数。