2007
07.14

在Flex中阻斷事件(stopImmediatePropagation)上浮

今天上Flex課程時剛好有同學問到在Flex中該如何阻止事件上浮(Bubbling),原因是因為他想作一個可以用滑鼠拖曳的登入視窗,但是當點框選到輸入帳號密碼的地方想要修改輸入資料時,竟然會變成拖曳的動作,這預期的狀況是否有些差距,像是下圖就是一個輸入的視窗:

event1.gif

這是因為在輸入文字框(TextInput)中框選文字時,實際會觸發MouseEvent.MOUSE_DOWN的事件,不幸的是這個事件回上浮到Panel上,就會順便觸發Panel上的 mouseDown事件,若是要停止事件浮上來,有好幾種方式,在這邊是用Event Object的中斷來進行阻斷,程式碼如下:



private function mouseDownHandler(event:MouseEvent):void{
event.stopImmediatePropagation();
}
]]>

layout="absolute" title="系統登入" mouseDown="loginPanel.startDrag()"
mouseUp="loginPanel.stopDrag()">






完成後當框選文字框時就不會變成拖曳視窗了。


相關文章:
  • Facebook 的ActionScript API 更新到 3.3版
  • 用ActionScript讀取相片中的exif資訊
  • 現場直擊Flash/Flex特效瘋-8/26活動內容預告
  • Bitmap與BitmapData
  • Flex/Flash/AIR 如何開啟bmp圖檔
  • 本文引用:
    文章內容由宋志峰[ANISTAR]撰寫,引用分享請以鏈結形式註明出處與原始作者。

    No Comment.

    Add Your Comment