菜单项
MenuItem作为菜单项,可由分隔符或正常项组成,其中正常项通常包括了图文标签,以响应鼠标或键盘操作.
示例
var item;// 创建分隔符item = new nw.MenuItem({ type: 'separator' });// 创建具有图文的正常项item = new nw.MenuItem({type: "normal",label: "菜单项",icon: "img/icon.png"});// 也省略正常项的type字段item = new nw.MenuItem({ label: '简单菜单项' });// 为菜单项绑一个点击回调item = new nw.MenuItem({label: "点我",click: function() {console.log("你刚刚点了我");},key: "s",modifiers: "ctrl+alt",});// 还可以创建子菜单!var submenu = new nw.Menu();submenu.append(new nw.MenuItem({ label: '菜单项 1' }));submenu.append(new nw.MenuItem({ label: '菜单项 2' }));submenu.append(new nw.MenuItem({ label: '菜单项 3' }));item.submenu = submenu;item.label = '新的菜单项';item.click = function() { console.log('新菜单项的回调'); };
new MenuItem(option)
optionObject -MenuItem初始设置对象labelString - (可选) 文本描述iconString - (可选) 图标tooltipString - (可选) 悬停文本提示typeString - (可选) 可选类型:normal,checkbox,separatorclickFunction - (可选) 键盘或鼠标点击的响应回调enabledBoolean - (可选) 启用或禁用本项,默认true即启用checkedBoolean - (可选) 是否勾选复选框,默认false即不勾选submenuMenu - (可选) 本项的子菜单项keyString - (可选) 本项的快捷键modifiersString - (可选) 本项的快捷键提示
MenuItem源自EventEmitter.您可以使用on进行监听,菜单项属性详情请参考下文.
item.type
用途:设置或获取
MenuItem对象中设置的可选类型:normal,checkbox,separator
请注意,类型仅在创建时进行设置,无法在已运行时更改.
item.label
用途:设置或获取
MenuItem对象中设置的label文本描述
item.icon
用途:设置或获取
MenuItem对象中设置的icon图标
icon即图标文件路径,可以指向应用内置图标的相对路径,也可以是系统中的文件的绝对路径
请注意, separator 类型的菜单项图标是无效的.
item.iconIsTemplate (Mac)
用途:设置或获取
MenuItem对象中设置的icon是否模板图标, 默认true
设置为 true时, icon 将被视为 模板图像,可配合系统状态(如灰暗/明亮模式)等自动确保所需样式.板图像应该仅由黑色和清晰的颜色组成,并且可以使用图像中的Alpha通道来调整黑色内容的不透明度。
item.tooltip (Mac)
用途:设置或获取
MenuItem对象中设置的tooltip悬停文本提示
tooltip即鼠标悬停在菜单项时希望显示的内容提示,它是 MenuItem中的一个String属性.
item.checked
用途:设置或获取
MenuItem对象中设置的checked是否勾选复选框
左侧有个指示本项是否已勾选的标记
item.enabled
用途:设置或获取
MenuItem对象中设置的enabled启用或禁用本项
禁用后,菜单项文本变灰并且无法点击和响应.
item.submenu
用途:设置或获取
MenuItem对象中设置的submenu子菜单项
submenu也是个 Menu 对像,子菜单项应该在创建整个菜单进行设置而非已运行时进行修改,因为某些平台这样的修改会很卡.
item.click
用途:设置或获取
MenuItem对象中设置的click键盘或鼠标点击的响应回调
item.key
用途:设置或获取
MenuItem对象中设置的key快捷键
所有平台的有效键
a-z0-9[,],',,,.,/,`,-,=,\,',;,TabEscDown,Up,Left,Right- W3C DOM Level 3 KeyboardEvent Key Values:
KeyA(等同A),Escape(等同Esc),F1,ArrowDown(等同Down) 等等.
Mac系统专用键
可使用 String.fromCharCode(specialKey).调用专用键,列表如下:
- 28: Left (←)
- 29: Right (→)
- 30: Up (↑)
- 31: Down (↓)
- 27: Escape (⎋)
- 11: PageUp (⇞)
- 12: PageDown (⇟)
有关专用键相关列表,请参阅:
item.modifiers
用途:设置或获取
MenuItem对象中设置的modifiers快捷键提示
快捷键提示是当组合键时以 +相连的文本串,例如: cmd , command, super, shift, ctrl, alt, "cmd+shift+alt".
cmd在各平台的差异: Windows 和 Linux中的Windows key (Windows) ,Mac中是Apple key (⌘) .
super 和 command都是 cmd的别名.
事件: click
触发:点击菜单项时
