在Flex Alert.show中,阻止Escape键关闭父窗口

时间:2012-10-12 20:07:54

标签: flex

在Flex Alert.show打开带有CANCEL按钮的对话框后,当我按下ESCAPE键时,它将关闭警告框。但是,如何防止将此关键事件传输到父窗口?父母也可以将ESCAPE注册为关闭密钥,然后它也会关闭。

1 个答案:

答案 0 :(得分:0)

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();
  }
}