我遇到一个动作脚本事件的问题,我每次调整flex组件时都会触发它。在这种情况下,我通过外部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);
}
但是,尽管我删除了事件监听器,但事件不止一次触发。有什么建议吗?
答案 0 :(得分:0)
在resize事件处理程序中,您可以使用removeEventListener
停止收听该事件,进行高度更改,然后使用addEventListener
重新开始侦听调整大小。