当某一事件触发后默认执行的行为称为事件的默认行为(Default Behavior)。例如,当触发TextEvent.TEXT_INPUT事件后的默认行为是将输入的文本添加到动态文本中。在某些情况下,一些事件提供了可以取消其默认行为的功能,这种事件称为可被取消默认行为的事件(Cancelable Default Behavior Event)。
为了取消事件的默认行为,可以在注册于该事件的执行函数中调用该事件的preventDefault()方法即可。
示例:阻止动态文本t的TextEvent.TEXT_INPUT事件的默认行为,将字母x添加到文本t中。
package
{
import flash.display.Sprite;
import flash.events.TextEvent;
import flash.text.TextField;
import flash.text.TextFieldType;
public class Main extends Sprite
{
private var t : TextField;
public function Main()
{
super();
t = new TextField();
t.border = true;
t.type = TextFieldType.INPUT;
addChild(t);
t.addEventListener(TextEvent.TEXT_INPUT, textInputHandler);
}
private function textInputHandler(e : TextEvent) : void {
e.preventDefault();
t.appendText("x");
}
}
}