質問と表題変更しました。
下でいろいろ書いていますが、結局のところ
ajaxで動的追加したコントロールのscrollHeightが取れないことが原因だと思います。
動的追加したコントロールのscrollHeightはどのようにしてて取ればいいのでしょうか?
ちなみにdomは取れています。
動的追加したmodal内のテキストのdomは取得できているけれど、
そのscrollHeightはどうやっても0です。
ちなみに一度modalで表示された後、
他のボタンクリックイベントで同じようにscrollHeightを取得すると
ちゃんと取れています。
======================================================
modalウインドウを表示する際、
modalウインドウ上のテキスト(スクロールバー付き)
のスクロールバーを一番下にしておきたいです。
どのように実現すればよいでしょうか?
modalは、画面表示時にその時のデータでajaxで自動生成させています。
生成後にスクロールさせているつもりですが、実現しません。
readyタイミングではなく、modal生成後にmodal内ボタンで
同じ処理をすれば高さは取れます。
$(document).ready(function () { setmodal(); }); // メッセージポップアップ function setmodal(job, messageid) { // 引数 var postData = {}; // ajax $.ajax({ type: "POST", url: "/hogehoge/hagehage", data: postData, dataType: 'html', }).done(function(html) { // ajaxで生成したmodalのtplを本体へ埋め込む showData(html); }).fail(function() { alert("エラー"); }); } function showData(html) { // 本体のtplのmodalを埋め込みたい箇所 var $body = $("#hoge"); $body.empty(); $body.append(html); // ajaxで取得したhtmlのmodalエリア $("#hogehogemodal").modal(); // 最新のメッセージまでスクロール $('#スクロール付きテキスト').scrollTop( $('#スクロール付きテキスト')[0].scrollHeight - $('#スクロール付きテキスト').height() ); }
