可以为窗口或应用程序的菜单命令指定等效键(有时称为快捷键)。当按下键或组合键时,NativeMenuItem 将调度
select
事件,并调用在数据源中指定的任何
onSelect
事件处理函数。行为与用户选择菜单项相同。
有关菜单等效键的完整详细信息,请参阅
本机菜单命令的等效键 (AIR)
。
通过使用 MenuBuilder 框架,可以在数据源的相应节点中指定菜单项的等效键。如果数据源有
keyEquivalent
字段,则 MenuBuilder 框架使用该值作为等效键字符。
还可以指定作为等效组合键的一部分的功能键。若要添加功能键,请将
altKey
、
ctrlKey
、
cmdKey
或
shiftKey
字段指定为
true
。所指定的一个或多个键将成为等效组合键的一部分。默认情况下,对 Windows 指定 Ctrl 键,对 Mac OS X 指定 Command 键。若要覆盖此默认行为,请包括设置为
false
的
defaultKeyEquivalentModifiers
字段。
以下示例显示基于 XML 的菜单数据源(在名为“keyEquivalentMenu.xml”的文件中包含等价键)的数据结构:
<?xml version="1.0" encoding="utf-8" ?>
<root>
<menuitem label="File">
<menuitem label="New" keyEquivalent="n"/>
<menuitem label="Open" keyEquivalent="o"/>
<menuitem label="Save" keyEquivalent="s"/>
<menuitem label="Save As..." keyEquivalent="s" shiftKey="true"/>
<menuitem label="Close" keyEquivalent="w"/>
</menuitem>
<menuitem label="Edit">
<menuitem label="Cut" keyEquivalent="x"/>
<menuitem label="Copy" keyEquivalent="c"/>
<menuitem label="Paste" keyEquivalent="v"/>
</menuitem>
</root>
以下示例应用程序从“keyEquivalentMenu.xml”加载菜单结构,并使用它作为应用程序的窗口菜单或应用程序菜单的结构:
<html>
<head>
<title>XML-based menu with key equivalents example</title>
<script type="text/javascript" src="AIRAliases.js"></script>
<script type="text/javascript" src="AIRMenuBuilder.js"></script>
</head>
<body>
<script type="text/javascript">
// Create a NativeMenu from "keyEquivalentMenu.xml" and set it
// as the application/window menu
var keyEquivMenu = air.ui.Menu.createFromXML("keyEquivalentMenu.xml");
air.ui.Menu.setAsMenu(keyEquivMenu);
</script>
</body>
</html>