J'ai un problème lorsque je montre un message AlertBox lorsque l'utilisateur appuie sur ENTRÉE et que le focus est dans une zone de texte. La fenêtre contextuelle fonctionne correctement, mais lorsque l'utilisateur clique, l'alerte se ferme comme prévu, mais l'écouteur TextArea reçoit l'événement ENTER de l'alerte et relance la boîte de dialogue. J'ai essayé un certain nombre de façons d'attraper et de manger l'événement, mais jusqu'à présent, je n'ai pas eu de chance. Est-il possible d'accomplir cela?Dans FLEX, comment pouvez-vous arrêter la touche ENTRÉE de mon alerte interceptée par le contrôle qui a déclenché l'alerte?
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>
En tant que test. J'ai ajouté un écouteur KEY_UP et KEY_DOWN à l'AlertBox et au TextField. Lorsque j'appuie sur Entrée avec mise au point dans le champ de texte, puis sur ENTRÉE à nouveau après l'apparition de l'alerte. Le nombre représente l'événementPhase. texte Entrée 3 keyDown Alert 3 keyUp Alert 3 keyDown texte Entrée 3 keyUp – WeeJavaDude