以下の内容はhttps://var.blog.jp/archives/75784132.htmlより取得しました。
COMMENT
コメント一覧 (2)
1. ななしさん
2019/08/07 21:38
//再計算〜
の下にある
ta.scrollHeight
はどのような意味があるのでしょか?
素人ですいません
2.
[管理人]
2019/08/07 22:24
>>1
あまり覚えてないのですが 見た感じスタイルを再計算させるためかと思います
Chrome では最適化のため スタイルを変えても JavaScript の処理が終わってブラウザがレイアウト計算などの処理を始めるまでは内部的に計算されていない状態です
ときどき JavaScript 実行中に即時計算してもらいたいときがあるので そういうときには DOM のサイズを求める系の操作を行えば計算できます
***Height 系プロパティにアクセスしたり getClientRects メソッドを呼び出したりなどです
ちょっとしたハックみたいなものです
IE だと Chrome のような最適化はされてないのか 常に更新されていたはずなのでこういう一見無意味な処理は不要です
Firefox はちょっと覚えてません
今回の例だと 少し上のコメントに 「いったんスクロールバーない状態にしないと折り返しあり状態になっている」 とあるので noscroll_height を設定したあとに いったん再計算してスクロールバーなしにしたあとで final_height を設定しないと折返しが残ったままになってたんだと思います