Apache flex 调整事件循环的大小?
每次flex组件调整大小时,我都会触发一个actionscript事件。在这种情况下,我通过一个外部javascript函数在其html包装器中更改flash对象的高度。这反过来会导致组件调整大小,事件自身循环,并不断增加组件的高度 以下是导致问题的代码示例: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
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函数中。我已经用更多的细节更新了原来的帖子。如有任何进一步建议,将不胜感激