ResizeEvent Looping? - PullRequest
       7

ResizeEvent Looping?

1 голос
/ 05 апреля 2010

У меня проблема с событием actioncript, которое запускается каждый раз, когда изменяется размер flex-компонента. В этом случае я изменяю высоту flash-объекта в его html-оболочке с помощью внешней функции javascript. Это, в свою очередь, приводит к изменению размера компонента и циклическому событию самого себя и постоянному увеличению высоты компонента.

Вот пример кода, вызывающего проблему:

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

Однако событие запускается более одного раза, несмотря на то, что я удалил слушателя события. Есть предложения?

1 Ответ

0 голосов
/ 05 апреля 2010

Внутри обработчика событий изменения размера вы можете использовать removeEventListener, чтобы остановить прослушивание этого события, изменить высоту, а затем использовать addEventListener, чтобы снова начать прослушивание изменений размера.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...