以下のような挙動をする。
var textarea = document.createElement('textarea');
textarea.value = "\r\n";
encodeURIComponent(textarea.value);
この挙動、現在のブラウザではバグではなくて、仕様である。どういうことかというと、HTML Standard で明言されている
value プロパティ代入動作 (Getter) は raw value の代入として働き、取得動作 (Setter) は API value の取得して働くという非対称的な挙動を示す。そして raw value を取得する方法はない。
- トップ
-
tech
-
textarea.value は代入すると値が変わる