2014-03-01 36 views
0

我試圖模擬按鈕單擊事件更改。它運作良好,但是當我在文本框中鍵入一個字符時,它會進行計算。我無法輸入這個詞。我怎樣才能解決這個問題。模擬按鈕單擊事件更改[AS3]

stage.addEventListener(Event.CHANGE, autohesap); 

function autohesap(event:Event) { 
hesapla_btn.dispatchEvent(new MouseEvent(MouseEvent.CLICK)); 
} 

回答

0

TextField調度每一個它的內容發生變更時(例如輸入一個新的角色)的Event.CHANGE。當您將Event.CHANGE收聽者添加到stage時,stage將會收到全部類型爲CHANGE的事件,包括您的TextField發送的事件。我不確定這是否是您要查找的行爲?

如果是,你「不能輸入單詞」,那麼它看起來像,那是因爲你的autohesap正在改變stage.focus - 當你在TextField點擊它來寫,stage.focus設置爲TextField問題 - 如果您手動設置stage.focus = null,那麼TextField將被取消選擇,您將無法再輸入,直到再次單擊。

+0

完美。你找到我的錯誤,而不看我的代碼:) –

0

創建一個容器對象來將所有'可更改'對象保存爲子對象。但將文本框放在容器的「家庭」之外。您仍然可以在任何地方放置文本字段,但其事件將繞過容器,只會在本身或其子代中「聽到」事件。