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 }
又来了一个问题,加入的事件处理函数是带参数的怎么办呢?接着看代码:
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 }
完美解决了!如果您还有什么问题可以一起讨论!