2012-07-31 35 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以阻止它分派事件,否則就像您已經說過的那樣,刪除/添加偵聽器是一個選項,如果只有一個對象具有添加/刪除偵聽器,我不會不認爲性能會受到影響。