flash player textfield 歡樂 bug 一枚
理論上,mx.controsl.TextInput 應該只允許單行輸入,我在 mac 上所有 browsers 測試也都是如此,不幸的是今晚我回到家裏想在一台 windows 上寫點東西,結果歡樂的 bug 就出現了,重現這個 bug 的 steps 很簡單。
1、拉一個 TextInput 到畫面上,將它的高度設成 100px
2、將程式開到 IE 裏測試
3、將 focus 設在文字框內,然後開始按 ctrl-enter
你會發現它居然可以折行啊~這不當場變成一個多行輸入的 TextArea 了嗎?而且這是一個只有在 windows + IE 的環境下才會出現的 bug XD
後來找了一下發現已經有人回報了,在這裏,更歡樂的是它目前的 狀態只是轉移到 flash player team 去處理,而不是真正修好了,唉呀呀,準備開始 hacking 大法吧。
by admin


5 Comments Add your own
1. RS&hellip | March 31st, 2008 at 10:54 pm
似乎又要再一次證明開發團隊愛用mac的事實…. -_-
(上次Google Doc也是)
2. jex&hellip | March 31st, 2008 at 11:41 pm
前面就遇到過這類似的問題阿,還沒想到好的辦法解決~~~比如說在Flex中使用TextArea組件,同樣,在windows+IE環境下按Ctrl+Enter時會多產生一空行出來,而在如FireFox下面就沒問題!
另外還遇到個問題,仍然使用TextArea控件,當在Windows+IE環境下按Ctrl+K(或其它未被IE佔用的快捷鍵時),會產生出一個奇怪的方框出來,也沒找到好辦法解決!!!
鬱悶阿~~~
希望d.cat兄能找到個好的解決辦法,一定共享出來阿,呵呵,先謝謝了
3. hbb&hellip | April 1st, 2008 at 11:27 am
firefox也不是什么值得信任的东西啊。。。。
只要wmode设置为transparent,怪里怪气的毛病就涌出来了。最二的就是textinput不能输入中文了,粘贴倒是能粘贴进去。。。
4. hbb&hellip | April 1st, 2008 at 11:28 am
以前还试过ctrl+j,就能偷偷摸摸的单行变多行了,这毛病似乎一直存在,也不知道是不是macromedia的文化遗产 orz
5. admin&hellip | April 1st, 2008 at 2:37 pm
to RS: mac++ 至尊王道啊~
to jex: 目前我的 hacking 法是透過 monkey patch 直接在 mx.controls.TextInput 動手腳,針對它內部的 TextField 偵聽是否有輸入 \n 字元,如果有就 event.preventDefault() 把那個字攔下來。
這個方法目前運作順利,只是 monkey patch 是雙面刃,要非常小心處理。
to hbb: 我在 firefox 裏也常遇到 flash 內容無法顯示或刷新的問題,確實是不太優啊~但換到 safari 裏就很正常…
Trackback this post | Subscribe to the comments via RSS Feed