Flash中textInput限定中英文字数

针对textInput使用TextEvent.TEXT_INPUT事件,是无法使用e.preventDefault();来阻止默认的文字改变的。需要对textInput里面的textfield监听。

  1. InputBox.textField.addEventListener(TextEvent.TEXT_INPUT,onTextInput);

 

  1. Var InputBox:TextInput = new TextInput();
  2. InputBox.textField.addEventListener(TextEvent.TEXT_INPUT,onTextInput);
  3.  
  4.    private function onTextInput(e:TextEvent):void {
  5.       tips.visible = false;
  6.       var byteArray:ByteArray = new ByteArray();
  7.       byteArray.writeMultiByte(e.currentTarget.text,"");
  8.       byteArray.writeMultiByte(e.text, "");
  9.       if (byteArray.length > 12) {
  10.          tips.visible = true;
  11.          tips.text = "最大字数为6个中文字符或者12个英文字符";
  12.          if (byteArray.length > 24) {
  13.             e.preventDefault();
  14.             tips.text = "不能再输入了哦";
  15.          }
  16.       }
  17.    }
posted @ 2012-07-25 14:09  过江鱼  阅读(235)  评论(0)    收藏  举报