Flash中textInput限定中英文字数
针对textInput使用TextEvent.TEXT_INPUT事件,是无法使用e.preventDefault();来阻止默认的文字改变的。需要对textInput里面的textfield监听。
- InputBox.textField.addEventListener(TextEvent.TEXT_INPUT,onTextInput);
- Var InputBox:TextInput = new TextInput();
- InputBox.textField.addEventListener(TextEvent.TEXT_INPUT,onTextInput);
- private function onTextInput(e:TextEvent):void {
- tips.visible = false;
- var byteArray:ByteArray = new ByteArray();
- byteArray.writeMultiByte(e.currentTarget.text,"");
- byteArray.writeMultiByte(e.text, "");
- if (byteArray.length > 12) {
- tips.visible = true;
- tips.text = "最大字数为6个中文字符或者12个英文字符";
- if (byteArray.length > 24) {
- e.preventDefault();
- tips.text = "不能再输入了哦";
- }
- }
- }