2012-07-31 58 views
1

我正在构建一个使用SWFAddress的Flex应用程序。每当我通过SWFAddress'SWFAddress.setValue()方法更新被劫持的URL时,我发现它会导致SWFAddressEvent.CHANGE事件发送,导致我的页面再次经历其更新周期。SWFAddress setValue()方法触发URL更改事件

SWFAddress中是否存在一种方法来“静默”更新被劫持的URL,使得SWFAddressEvent.CHANGE事件未被分派?

我现在想到的唯一方法就是删除事件监听器,更改URL并将其添加回来。但那似乎......真的......效率低下。有任何想法吗?

谢谢你的时间。

+1

嘿刚刚签出的源代码,没有什么在那里,让你阻止的情况下,如果它是一个新的值,则该事件被分派(它看起来像它跳到期间初始化,但在所有其他情况下,如果换做这个发生它被派遣)。您可以修改源,因为它是可用的和添加自己的布尔值SWFAddress从调度事件停止,否则像你已经说删除/添加监听器是一种选择,如果是添加/删除我不只是一个具有监听对象不认为性能会受到影响。 – shaunhusain 2012-07-31 17:49:39

+1

@shaunhusain谢谢你的关注。这就是我最终做的。如果你想剪切和粘贴你的评论作为答案,我会接受它。 – 2012-07-31 19:04:30

回答

1

嘿刚刚签出的源代码,没有什么在那里,让你阻止的情况下,如果它是一个新的值,则该事件被分派(它看起来像它跳到期间初始化,但在所有其他情况下,如果这样做它发生了变化)。您可以修改源代码,因为它可用,并将自己的布尔值添加到SWFAddress以阻止它分派事件,否则就像您已经说过的那样,删除/添加侦听器是一个选项,如果只有一个对象具有添加/删除侦听器,我不会不认为性能会受到影响。