Flex 关于 keyDown事件的添加和移除(另附添加事件的执行带参数的函数)

今天遇到一个棘手的问题,原本的textInput控件有一个keyDown事件,但是不是所有的用户都需要,麻烦了首先先删除控件里面的keyDown,这个事件放在这谁都得用,我就是不想用这就实现不了,怎么办呢?在.as文件中初始化的时候添加事件,不需要的用户remove掉就可以了,问题又来了,如何实现呢?下来看代码:

1 //id是控件id,eventHandle是键盘录入事件处理的函数
2 id.addEventListener(KeyboardEvent.KEY_DOWN,eventHandle);
3 
4 //处理回车事件
5 private function eventHandle(event:KeyboardEvent):void{
6       if (event.keyCode != 13) return null;
7       else{......}
8             
9 }
View Code

又来了一个问题,加入的事件处理函数是带参数的怎么办呢?接着看代码:

 1 //id是控件id,eventHandle是键盘录入事件处理的函数
 2 id.addEventListener(KeyboardEvent.KEY_DOWN,function(evt:KeyboardEvent):void{eventHandle(evt,"I LOVE YOU,DO YOU LOVE ME?")});
 3 
 4 //处理回车事件
 5 private function eventHandle(event:KeyboardEvent,question:String):void{
 6       if (event.keyCode != 13) return null;
 7       else{
 8           Alert.show(question);
 9       }
10             
11 }
View Code

完美解决了!如果您还有什么问题可以一起讨论!

posted @ 2018-03-14 14:31  平心先生  阅读(486)  评论(0编辑  收藏  举报