我正在构建一个利用SWFAddress的Flex应用程序。每当我通过SWFAddress的SWFAddress.setValue()方法更新被劫持的URL时,我注意到它会导致SWFAddressEvent.CHANGE事件分派,导致我的页面再次经历其更新周期。
在SWFAddress中是否有一种方法可以“静默”地更新被劫持的URL,这样SWFAddressEvent.CHANGE事件就不会被分派?
我现在能想到的解决这个问题的唯一方法是删除事件侦听器,更改URL,然后再添加回来。但这似乎..。真的..。效率低下。有什么想法吗?
谢谢您抽时间见我。
发布于 2012-08-01 03:06:59
嘿,我刚刚看了一下源代码,里面没有任何东西可以让你阻塞事件,如果它是一个新值,那么事件就会被分派(它看起来像是在初始化时跳过了这一步,但在所有其他情况下,如果发生了变化,它就会被分派)。你可以修改源代码,因为它是可用的,并将你自己的布尔值添加到SWFAddress以阻止它分派事件,否则就像你已经说过的那样,移除/添加侦听器是一个选项,如果只有一个对象添加/移除了侦听器,我认为性能不会受到影响。
https://stackoverflow.com/questions/11744520
复制相似问题