keyEquivalent非字母数字键(AIR / AS3)

时间:2012-08-18 09:36:43

标签: actionscript-3 air keyboard-shortcuts

提前感谢,

我想使用NativeMenuItem.keyEquivalent为某些菜单项设置键盘快捷键。其中一些使用插入,删除,退格等键

如何为这些字符设置keyEquivalent? keyEquivalent是一个字符串,所以我不知道如何像这样设置它

1 个答案:

答案 0 :(得分:1)

您不能对keyEquivalent使用Insert,Delete等,只能使用字母和数字。您仍然可以将字符串“insert”添加到keyEquivalent属性中,它将出现在菜单中,它不会自动响应键盘按下。

你可以做的是使用标准键盘事件监听器来监听那些按键,并且该监听器可以通过从菜单项调度Event.SELECT事件来调用菜单项,或者你可以直接调用任何函数菜单项通常会调用。

item.keyEquivalent = "insert";
item.addEventListener(Event.SELECT, onItemSelect);
stage.addEventListener(KeyboardEvent.KEY_UP, onKeyUp);
...
// menu item handler
private function onItemSelect(e:Event)
{
    trace("item was selected.");
}

// keyboard handler
private function onKeyUp(e:KeyboardEvent)
{
    if (event.keyCode == Keyboard.INSERT)
        item.dispatchEvent(new Event(Event.SELECT));
}