Apache flex 调整事件循环的大小?

Apache flex 调整事件循环的大小?,apache-flex,actionscript-3,Apache Flex,Actionscript 3,每次flex组件调整大小时,我都会触发一个actionscript事件。在这种情况下,我通过一个外部javascript函数在其html包装器中更改flash对象的高度。这反过来会导致组件调整大小,事件自身循环,并不断增加组件的高度 以下是导致问题的代码示例: private function onCreationComplete(event:Event):void { this.mainInnerShell.addEventListener(Event.RESIZE,handleRes

每次flex组件调整大小时,我都会触发一个actionscript事件。在这种情况下,我通过一个外部javascript函数在其html包装器中更改flash对象的高度。这反过来会导致组件调整大小,事件自身循环,并不断增加组件的高度

以下是导致问题的代码示例:

private function onCreationComplete(event:Event):void 
{ 
  this.mainInnerShell.addEventListener(Event.RESIZE,handleResize);
} 

private function handleResize(event:Event):void {
  this.mainInnerShell.removeEventListener(Event.RESIZE,handleResize);
  ExternalInterface.call("changePageHeight",this.mainInnerShell.height + resizeBuffer); 
  this.mainInnerShell.addEventListener(Event.RESIZE,handleResize);
}

但是,尽管我删除了事件侦听器,但事件仍多次激发。有什么建议吗?

在调整大小事件处理程序中,您可以使用
removeEventListener
停止侦听该事件,更改高度,然后使用
addEventListener
再次开始侦听调整大小。

Jason,感谢您的建议!我试过你推荐的,但似乎不起作用。我突然想到,这可能是因为事件的实际大小调整发生在外部javascript函数中。我已经用更多的细节更新了原来的帖子。如有任何进一步建议,将不胜感激