今天遇到一个棘手的问题,原本的textInput控件有一个keyDown事件,但是不是所有的用户都需要,麻烦了首先先删除控件里面的keyDown,这个事件放在这谁都得用,我就是不想用这就实现不了,怎么办呢?在.as文件中初始化的时候添加事件,不需要的用户remove掉就可以了,问题又来了,如何实现呢?下来看代码:
//id是控件id,eventHandle是键盘录入事件处理的函数
id.addEventListener(KeyboardEvent.KEY_DOWN,eventHandle); //处理回车事件
private function eventHandle(event:KeyboardEvent):void{
if (event.keyCode != 13) return null;
else{......} }
又来了一个问题,加入的事件处理函数是带参数的怎么办呢?接着看代码:
//id是控件id,eventHandle是键盘录入事件处理的函数
id.addEventListener(KeyboardEvent.KEY_DOWN,function(evt:KeyboardEvent):void{eventHandle(evt,"I LOVE YOU,DO YOU LOVE ME?")}); //处理回车事件
private function eventHandle(event:KeyboardEvent,question:String):void{
if (event.keyCode != 13) return null;
else{
Alert.show(question);
} }
完美解决了!如果您还有什么问题可以一起讨论!