jQuery Mobile をモバイル フレームワークとして使用しています。jQuery を使用して、ページにカスタム コンテンツを動的に入力します。jQuery Mobile は、ページの読み込み後に作成された要素にスタイルを適用しません。そのため、私は使用しています
$('[data-role=content]').trigger('create');
そのため、新しいコンテンツが作成された後、jQuery Mobile はページのスタイルを再評価します。
また、SammyJs を使用してルートをロードし、動的コンテンツの作成を処理します。trigger(create)
JSON リクエストをインラインにすると、コードが機能しないことがわかりました。ただし、コンソールからコードを実行すると (JSON リクエストとトリガーの間に時間が追加されます)、jQuery はスタイリングを正しく適用します...
私の回避策は使用することsetTimeout
です:
setTimeout(function() {
$('[data-role=content]').trigger('create');
}, 100);
ただし、コンテンツが数ミリ秒間スタイルされていないように見え (ユーザーが見ることができます)、正しいスタイルで更新されるため、これが最善の解決策だとは思いません...
jQuery mobile または Sammy で DOM の変更を監視する方法はありますか?