使用flash組件中的TextField時,發現了一個很奇怪的問題。
當TextField的值改變時,TextField會發送change事件,也就是說在我們輸入或刪除
TextField的內容時,都會收到這個事件。
但是有一種情形下不會發送這個事件。
如下所示,若是刪除最後一行,TextField會發送change事件,而且若覆寫height
、width兩個setter function,是可以trace到 TextField的width、height 屬性被改變的。
====TextField的內容開始====
新文字內容
\r
\r
====TextField的內容結束====
↓(刪除最後一行)
====TextField的內容開始====
新文字內容
\r
====TextField的內容結束====
但若是下面這種情形時,TextField就不會發送change事件。而且height、width這
兩個setter function 也不會被呼叫。
====TextField的內容開始====
新文字內容
\r
====TextField的內容結束====
↓(刪除了最後一行)
====TextField的內容開始====
新文字內容
====TextField的內容結束====
不知道這算不算是個bug呢?
.
.
.
.
有圖有真像
![]()
圖中的外圍框線是我自己定義的一個類別,它會畫出和選取物件一樣大的框線
,還有四個灰色的旋轉方塊和八個黑色的縮放方塊。在正常情形下,改變了
TextField的內容,外框會跟著改變。但是若是我所說的那個情形時,因為收不到
TextField的change事件,外框就無法跟著改變,所以會出現第三張圖的情形。
第三張圖中間的那條線是TextField的外框。
我認為是…