AS3 TextEvent使用時需要注意的地方

2021-06-07 21:06:49 字數 1257 閱讀 3626

textevent很有意思,就兩個常量,應用場景還截然不同。

text_input:使用者輸入文字時呼叫

此時: textevent.text:返回使用者輸入的內容

還有乙個類似的用法,是event.change。讓我們比較一下兩者的區別:

1. 觸發範圍不同

text_input:輸入文字時觸發。

change:文字字元發生變化時觸發。所以不僅輸入文字會觸發,刪除文字也會觸發。

2. 觸發時間不同

text_input:在文字填充字元之前先觸發

change:在文字填充字元完成後觸發

我舉個例子大家就明白意思了:在舞台上建立乙個輸入文字,例項名為t,在第一幀新增**如下:

function p1(event:event):void  

t.addeventlistener(event.change, p1);

function p2(event:textevent):void  

t.addeventlistener(textevent.text_input, p2);

執行後,輸入字元「w」,返回結果如下:

textinput:    //此時t還沒有內容 

change:w     //此時t已經有內容了

最後說一下textevent.text的返回值:

每輸入一次字元,將會呼叫一次函式。你直接輸入「my」,那麼依次返回「m」「y」。你輸入「我們」,即使某些輸入法可以修改後一起輸入,但還是依次返回「我」「們」。只有一種情況例外:如果你是複製粘帖上去的「我們」,恭喜你,你終於一次性返回了「我們」二字。

text_link:啟用 html 的文字欄位中,單擊超連結時觸發

此時:textevent.text:標籤的 href 屬性的 event 屬性的文字(很拗口吧 ^_^)

例如:messages.htmltext = "22";

那麼textevent.text返回的是「

注意:1. 必須要有「event:」不然該監聽無效

2. 因為加了「event:」,所以超連結無效了,不會發生頁面跳轉。

如果一定要跳轉,自己加個處理吧,我把我的**貼出來,僅供參考:

function p(event:textevent):void

messages.addeventlistener(textevent.link, p);

本文出自 「寂寞風之谷」 部落格,請務必保留此出處

redis3,使用時注意點

但是你必須牢記以下兩點 redis是個記憶體資料庫,同時它是單執行緒的 1因為應用程式的某個模組棄用而忘掉這些資料。1.掌控儲存在redis中的所有鍵 redis的弱結構資料模式讓集中儲存的內容很難被弄清,除非你為鍵使用一套非常成熟的命名法則。使用合適的命名方法會簡化你的資料庫管理,當你通過你的應用...

android fragment使用時遇到的問題

1 在fragment中onactivityresult 中接收activity中返回的值 返回值必須這麼寫 resultcode getactivity result ok,若寫為resultcode result ok會報錯 2 設定 時,通常都要用載入了的檢視來進行findviewbyid 否...

UITableViewCell使用時注意事項

1,注意使用重用機制 有利於提高效率 2,做到通過改變模型去間接改變ui樣式 做到永久改變,無論怎樣拖動重新整理,都不會恢復改變 3,在通過傳遞模型給cell控制項布局時,記得完全覆蓋 嗯,不好解釋,主要是在重用機制引起的,如果不完全覆蓋,則在重用時,可能被另外乙個cell引用,造成顯示資料的錯誤 ...