Flex3.2(AIR1.5) + MacOSXでTextAreaにクリップボード経由でコピペで文字を貼付けると改行が入らないみたいで、悩んでます。
Flex3.2を使いMacOSXにてテキストエディタで改行を含んだ文字をコピー。
mx:TextArea上でペーストすると、見た目上は改行が入って貼付けされる。
でも、TextArea#textの文字列を見てみると、改行文字自体が入っていない。
現象としては、Flex3.2から発生していて、Windowsでは発生しないみたい。
・TextAreaの見た目上は改行されているが、TextArea#textの文字列には改行がない。
・Flex3.1(AIR1.0)であれば問題なし(=TextArea#textの文字列には改行が入っている)
・WindowsXPでは、問題なし
・コピペでなく、TextArea上でEnterキーで改行入れると問題なし
・テキストエディタからドラッグ&ドロップでコピーすると問題なし
改行文字が入っていない...というのは以下で試しました。
TextAreaにて "a" + 改行 + "b" をクリップボード経由で貼付けして、
var value:String = textArea.text;
for (var i:int = 0; i < value.length; i++) {
trace(i + ":" + value.charCodeAt(i));
}
って感じで文字コードをみると、結果は
0:97
1:98
ってなります。
問題ないパターンの時には
0:97
1:13
2:98
と、13(CR)が含まれているんですけども。。
テキストエディタをCotEditorを使って、改行コードを CR, LF, CR+LF で試してみても現象は同じ。
TextAreaの見た目上では改行が入っているので、DELETEキーで改行部分を削除してみると、見た目上は改行が消える動きをする。
んー、ということは、TextArea#textのメソッドで何かやってるんやろうか。
これが解決できないと、文字列を改行で区切って文字列操作することが出来ないっ 困った。
...ということで、まだハマり中。何かご存知の方いらしたら教えてください。。
Flex3.2+MacOSXでTextAreaにコピペで文字を貼付けると改行が入らない
• • •