我遇到了一個問題,當用戶點擊ENTER並且焦點位於文本區域時,顯示AlertBox消息。彈出窗口可以正常工作,但是當用戶點擊進入警報時,按照預期關閉,但TextArea偵聽器從Alert中接收到ENTER事件並再次彈出對話框。我嘗試了很多方法來捕捉和吃這個事件,但到目前爲止我還沒有幸運。有沒有辦法做到這一點?在FLEX中,如何停止從啓動警報的控件捕獲我的警報的ENTER鍵?
public function init():void
{
myTextInput.addEventListener(KeyboardEvent.KEY_UP, handleKeyStrokes);
}
public function handleKeyStrokes(evt:KeyboardEvent):void
{
if(evt.keyCode == Keyboard.ENTER)
{
myAlert = Alert.show("This is a test and only a test", "Title", 4, null, alertCallBack);
}
}
<mx:TextInput id="myTextInput"
left="600" top="10">
</mx:TextInput>
作爲測試。我向AlertBox和TextField添加了一個KEY_UP和KEY_DOWN偵聽器。當我在文本字段中按焦點輸入Enter,然後在彈出警報後再次回車。該數字表示eventPhase。 文本輸入3的keyDown 紅色警戒3使用keyUp 警報3的keyDown 文本輸入3使用keyUp – WeeJavaDude 2010-04-30 01:43:49