Flex/AIR/AS3/Event2010.03.04 13:07

[출처] Default behaviors 란? 그리고 preventDefault()|작성자 딴동네


preventDefault, stopPropagation, stopimmedatePropagation



preventDefault

preventDefault는 이벤트의 발생 자체를 차단함 (특정한 이벤트는 차단하지 못한다. TextField에서 더블클릭시 구문강조 이벤트)

ex) TextField에 a키 입력시 이벤트 전파를 차단한다.

this.txt_Input.addEventListener(flash.events.TextEvent.TEXT_INPUT, this.onTextInput);

function onTextInput(objEvent:TextEvent)
{
    trace("event ", objEvent);

    if(objEvent.text=="a")
        objEvent.preventDefault();
}




stopPropagation


stopPropagation는  capture단계에 등록되어있는 모든 요소들들을 실행시킨후에 멈춤.

ex) stopPropagation()메소드가 실행되더라도 onClickTest1(), onClickTest2()가 실행된 후 이벤트 전파 차단

btn_2.addEventListener(MouseEvent.CLICK, this.onBtn2Click);
btn_2.addEventListener(MouseEvent.CLICK, this.onClickTest1);
btn_2.addEventListener(MouseEvent.CLICK, this.onClickTest2);

function onBtn2Click(objEvent:MouseEvent)
{
    objEvent.stopPropagation();        
}



stopimmedatePropagation

stopImmediatePropagation는 capture단계에 등록되어있는 요소라도 바로 멈춤.

ex) stopImmediatePropagation()메소드가 실행되는 시점부터 즉시 이벤트 전파 차단.

btn_3.addEventListener(MouseEvent.CLICK, this.onBtn3Click);
btn_3.addEventListener(MouseEvent.CLICK, this.onClickTest1);
btn_3.addEventListener(MouseEvent.CLICK, this.onClickTest2);

function onBtn3Click(objEvent:MouseEvent)
{
    objEvent.stopImmediatePropagation();
}

 

저작자 표시 비영리
신고

'Flex/AIR/AS3 > Event' 카테고리의 다른 글

ActionScript 3.0 - Event 전파 차단하기  (0) 2010.03.04
[Event] Event에 매개변수 전달하기  (0) 2009.08.26
Posted by 코멧'★
TAG

티스토리 툴바