0

FlexAlert.show打开一个带有取消按钮的对话框后,当我按下 ESCAPE 键时,它将关闭警报框。但是我怎样才能防止这个关键事件被转移到父窗口呢?父级也可以将 ESCAPE 注册为关闭键,然后它也会关闭。

4

1 回答 1

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();
  }
}
于 2012-10-12T20:41:00.520 回答