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

這是因為在輸入文字框(TextInput)中框選文字時,實際會觸發MouseEvent.MOUSE_DOWN的事件,不幸的是這個事件回上浮到Panel上,就會順便觸發Panel上的 mouseDown事件,若是要停止事件浮上來,有好幾種方式,在這邊是用Event Object的中斷來進行阻斷,程式碼如下:
private function mouseDownHandler(event:MouseEvent):void{
event.stopImmediatePropagation();
}
]]>
mouseUp="loginPanel.stopDrag()">
完成後當框選文字框時就不會變成拖曳視窗了。
相關文章:
本文引用:
文章內容由宋志峰[ANISTAR]撰寫,引用分享請以鏈結形式註明出處與原始作者。
文章內容由宋志峰[ANISTAR]撰寫,引用分享請以鏈結形式註明出處與原始作者。


No Comment.
Add Your Comment