我正在努力使用air flex应用程序。每当我点击 Alt +某事时,vista就会发出声音。我怀疑它与不存在的菜单栏有关。
如何禁用我的应用来响应涉及alt的快捷方式?
以下是代码:
stage.addEventListener(KeyboardEvent.KEY_UP, onKeyUp);
...
public function onKeyUp(event:KeyboardEvent):void {
trace("inside onKeyUp");
if (event.altKey) {
if (event.keyCode == 69 /* E */) {
detailsBtn.dispatchEvent(new MouseEvent(MouseEvent.CLICK, true));
} else if (event.keyCode == 65 /* A */) {
andmevahetusBtn.dispatchEvent(new MouseEvent(MouseEvent.CLICK, true));
} else if (event.keyCode == 83 /* S */) {
Application.application.close();
} else {
trace("Key pressed. keyCode: " + event.keyCode + ", charCode: " + event.charCode);
}
}
}
我尝试了一切:
event.preventDefault();
event.stopPropagation();
event.stopImmediatePropagation();
没有任何帮助。
答案 0 :(得分:1)
可能是操作系统正在按下按键,并对其进行响应。在这种情况下,尝试在应用程序中停止键事件无关紧要。
Flex / Flash应用程序中的事件处理不会影响Windows事件处理。在Actionscript中停止按键传播只会影响您的应用,而不会影响操作系统。
您可以尝试两件事:
答案 1 :(得分:0)
尝试在onkeypress事件中将键码设置为0(如果之后不使用它)。