flash as3做事件处理中缺省行为


缺省行为(Default behaviors)
当事件发生时,flash播放器会自动显示与此事件相关的行为,因为这个行为是由Flash播放器自动显示的,所
以这样的行为称为缺省行为。
例如,在一个输入文本的实例中,当用户输入文本时,会触发"TextEvent.TEXT_INPUT"事件,这时flash会把
文本显示出来,"显示输入的文本"这个行为即缺省行为。
例如,当鼠标停在按钮上时,会触发"MouseEvent.ROLL_OVER"事件,这时按钮上的文字会高亮显示,"高亮
显示"这个行为也是缺省行为。
当然,可以通过preventDefault() 方法来阻止缺省行为的发生
input_txt.addEventListener(TextEvent.TEXT_INPUT,func)
function func(e:TextEvent){
  //不使用缺省行为
  e.preventDefault()
}
如何知道preventDefault()是否被调用,可用isDefaultPrevented () 方法来测试,true代表调用,false代表
没有调用
注意几点:
1、不是所有事件对象相关的缺省行为都能被阻止(如click事件对象)
如何知道一个缺省行为是否能阻止呢?可以使用Event类的cancelable属性
参考代码:
input_txt.addEventListener(TextEvent.TEXT_INPUT,func)
function func(e:TextEvent){
  trace(e.cancelable)
}
//TextEvent是Event类的子类,所以具有Event类的cancelable属性
2、不是所有事件对象都有相关的缺省行为(如:connect事件对象)
3、缺省行为不存在于自定义事件对象
本文转自:http://www.5uflash.com/flashjiaocheng/Flash-as3-jiaocheng/1791.html

你可能感兴趣的:(html,Flash)