做个小测试来区分keyDown和keyUp事件

代码
   
     
1 package
2 {
3   import flash.display.Sprite;
4 import flash.events.KeyboardEvent;
5 import flash.text.TextField;
6 import flash.text.TextFieldType;
7
8 public class ChangeLowercaseToCapital extends Sprite
9 {
10 private var myText1:TextField;
11 private var myText2:TextField;
12
13 public function ChangeLowercaseToCapital()
14 {
15 initApp();
16 }
17 // 创建了两个可输入的文本框
18 private function initApp(): void {
19 this .myText1 = new TextField();
20 this .myText2 = new TextField();
21 this .myText1.border = true ;
22 this .myText2.border = true ;
23 this .myText1.type = TextFieldType.INPUT;
24 this .myText2.type = TextFieldType.INPUT;
25 this .myText1.width = 100 ;
26 this .myText1.height = 20 ;
27 this .myText2.x = 200 ;
28 this .myText2.width = 100 ;
29 this .myText2.height = 20 ;
30 this .myText1.background = 0xffffff ;
31 this .myText2.background = 0xffffff ;
32 this .myText1.multiline = false ;
33 this .myText2.multiline = false ;
34 this .addChild( this .myText1);
35 this .addChild( this .myText2);
36 this .myText1.addEventListener(KeyboardEvent.KEY_DOWN,changeText1);
37 this .myText2.addEventListener(KeyboardEvent.KEY_UP,changeText2);
38 }
39 private function changeText1(evt:KeyboardEvent): void {
40 this .myText1.text = this .myText1.text.toUpperCase();
41 }
42 private function changeText2(evt:KeyboardEvent): void {
43 this .myText2.text = this .myText2.text.toUpperCase();
44 }
45
46 }
47 }
48
49

 

我在这里创建了两个文本框,第一个用来监听按键按下事件,并在按下后将文本里的小写字母转化为大写字母。第二个用来监听按键弹起事件,并在弹起后将文本小写字母转化为大写字母。我们会发现,在第一个文本框输入字母时,不会立即就转化为大写字母,而是当下一个字母被键入时,前一个字母才发生转变。

而在第二个文本框就不一样了,当我们输入完成后,所有字母会立即转化为大写字母。这就让我们了解了,keyDown和keyUp事件的不同点。

你可能感兴趣的:(key)