08.31
[此篇僅供ActionScript 3.0 與 Flex 參考]
繼上篇[ActionScript3.0 中 TextField 吃掉手指游標的問題 (1/3)] 的內容,這次我們要將滑鼠被 TextField 吃掉的問題給解決掉,先來看看整個Run起來的感覺:
你可以看到第一次原始狀態,當滑鼠移到 TextFiled (動態文字) 上時會變成文字輸入遊標,而且當被動態文字被滑鼠點擊時也會顯示被點擊的目標是 TextField,但是有時候我們未必希望拿來做裝飾或顯示資訊用的 TextField 跑出來干擾主體的運作,那又該如何阻斷滑鼠在 TextField 上的事件呢?
其實這個並不難,你只需要用到影片角色主體上的 mouseChildren 屬性即可,mouseChildren 屬性是一個以 Boolean 為設定值的屬性,若是設成 true 則代表要阻斷這個影片角色所包含的子角色事件,反之則不用,預設值是 false。
我將這個範例的程式碼展示在下面,就讓大家去參考:
book_mc.addEventListener(MouseEvent.CLICK,clickHandler);
book_mc.buttonMode=true;
function clickHandler(event:MouseEvent):void{
statusInput.text=event.target+"has clicked...";
}
stopMouseButton.addEventListener(MouseEvent.CLICK,stopMouseHandler);
function stopMouseHandler(event:MouseEvent):void{
book_mc.mouseChildren=false;
}
clearButton.addEventListener(MouseEvent.CLICK,clearHandler);
function clearHandler(event:MouseEvent):void{
statusInput.text="";
}
最近實在是太忙了,而且可以寫的東西又太多了,所以主題會跳著跑,從10月開始,我們將會混著寫Flex, ActionScript, AIR, Silverlight, C#.NET等主題,若是對於 Flash CS3 與 ActionScript 3.0 主題有興趣的朋友,可以參考我寫的這本書 [Flash CS3 Professional ActionScript 3.0 打造互動設計力與美] 在各大書店及網路書店均有販售。
相關文章:
文章內容由宋志峰[ANISTAR]撰寫,引用分享請以鏈結形式註明出處與原始作者。


mouseEnabled也可以
但是mouseEnabled會沒辦法處理滑鼠游標顯事的問題, 因此我建議兩者都做.
洋蔥魚:
很高興你成功了,我很好奇你問題出在哪?
老師:
我成功了,感謝您的指導。