TextField Flash ActionScript

package {
  import flash.display.*;
  import flash.text.*;
  import flash.events.*;
  public class Main extends Sprite {
    public function Main(  ) {
      var boldFormat:TextFormat = new TextFormat(  );
      boldFormat.bold = true;
      var italicFormat:TextFormat = new TextFormat(  );
      italicFormat.italic = true;
      var t:TextField = new TextField(  );
      t.text = "lunchtime";
      t.setTextFormat(italicFormat, 0, 5);
      t.setTextFormat(boldFormat, 5, 9);
      t.type = TextFieldType.INPUT;
      t.addEventListener(TextEvent.TEXT_INPUT, textInputListener);
      addChild(t);
    }
    private function textInputListener (e:TextEvent):void {
      var t:TextField = TextField(e.target);
      e.preventDefault(  );
      t.replaceText(t.caretIndex, t.caretIndex, e.text);
      var regularFormat:TextFormat = new TextFormat(  );
      regularFormat.bold   = false;
      regularFormat.italic = false;
      t.setTextFormat(regularFormat,
                      t.caretIndex,
                      t.caretIndex+e.text.length)
      var newCaretIndex:int = t.caretIndex + e.text.length;
      t.setSelection(newCaretIndex, newCaretIndex);
    }
  }
}