jQuery Mobile: 動的に追加されたコンテンツのマークアップの強化
はじめに
マークアップの強化は、jQuery Mobile ページのスタイルを設定し、インタラクティブな機能を有効にするための重要な手順です。ただし、コンテンツが動的に追加または変更された場合、自動的に強化されない場合があります。必要な拡張レベルに応じて、マークアップ拡張を適切に行うために知っておくべきいくつかの方法と考慮事項があります。
マークアップ拡張のレベル
拡張には 3 つの主要なレベルがあります。
-
単一コンポーネント/ウィジェットの強化: 個別のウィジェットを強化します。ボタン、リストビュー、またはチェックボックスとして。
-
ページ コンテンツの拡張: 現在のページのコンテンツ領域内のすべてを拡張します。
-
フル ページの拡張:ヘッダー、コンテンツ、およびコンテンツを含むページ全体を強化します。 footer.
マークアップ拡張のメソッド
単一コンポーネント/ウィジェットの拡張
各 jQuery Mobile ウィジェットは、動的に拡張するメソッドを提供します。
- ボタン: $('[type="button"]').button();
- リストビュー: $('#mylist').listview('refresh');
- チェックボックス/ラジオボックス: $('[type="radio"]').checkboxradio();
- メニューを選択: $('select').selectmenu();
-
注: 拡張には、折りたたみ可能な要素でのトリガー ('create') も必要です。
ページコンテンツの強化
現在のページ内のすべてを強化しますページのコンテンツ領域:
- $('#index').trigger('create');
全ページ拡張
この方法は公式には推奨されていませんが、まれに使用できます。 case:
- $('#index').trigger('pagecreate');
マークアップ拡張の防止
場合によっては、カスタム ウィジェットや CSS スタイルなどのマークアップ拡張を防ぐために必要です。いくつかの方法を使用できます:
- data-enhance="false" 属性をコンテナに追加します。
- data-role="none" 属性を要素に追加します。
- 初期化中に無視する特定の要素を指定します。 $.mobile.page.prototype.options.keepNative.
マークアップ拡張のトラブルシューティング
エラー: 「初期化前にリストビューでメソッドを呼び出すことはできません」
マークアップ拡張の前に、ウィジェットが初期化されていることを確認してください。例:
- $('#mylist').listview().listview('refresh');
CSS オーバーライドに関する考慮事項
デフォルトの jQuery Mobile CSS スタイルをオーバーライドするには、!重要なオーバーライドを使用します。例:
- #navbar li { 背景: 赤 !重要; }
以上が動的に追加されたコンテンツの jQuery Mobile マークアップを適切に強化するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。