【发布时间】:2012-10-03 16:46:18
【问题描述】:
在 Flex Alert.show 打开一个带有 CANCEL 按钮的对话框后,当我按下 ESCAPE 键时,它将关闭警报框。但是我怎样才能防止这个关键事件被转移到父窗口呢? parent 也可以将 ESCAPE 注册为关闭键,然后它也会关闭。
【问题讨论】:
标签: apache-flex
在 Flex Alert.show 打开一个带有 CANCEL 按钮的对话框后,当我按下 ESCAPE 键时,它将关闭警报框。但是我怎样才能防止这个关键事件被转移到父窗口呢? parent 也可以将 ESCAPE 注册为关闭键,然后它也会关闭。
【问题讨论】:
标签: apache-flex
Alert.show 方法将一个实例返回给 Alert 类。您可以在警报上收听逃逸;然后在您的事件侦听器中停止传播。这是伪代码;但是:
// in some method somewhere
// create Alert Class
var myAlert : Alert = Alert.show('test','test');
// listen for keyboard event
myAlert.addEventListener(KeyboardEvent.KEY_UP, onKeyUp);
//... elsewhere in code
protected function onKeyUp(event:KeyboardEvent):void{
if(event.charCode =Keyboard.ESCAPE){
event.stopPropagation();
event.stopImmediatePropagation();
}
}
【讨论】: