做个小测试来区分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事件的不同点。
人和人不要比。自己做自己。