2012-02-06 2 views
5

ジョン・リードのヘッダー&フッタータグは、HTML5のタグを使用しての良いアイデアを持っていますsection、header、footerタグを使用している場合、data-role = "page"、 "header"、 "nav"、 "footer" jQuery Mobileが読み込まれる前に、jsの良さを少し入れてもいいかもしれません。使用セクションでは、代わりにデータ・役割の彼のjQueryモバイルブックで

私はjQueryのモバイルをロードする前にこれを追加した場合、理論的に、それは動作します:

$('header').attr('data-role','header'); 

うーん...でも、私は、この属性を適用した後の要素を更新する必要がある場合があります。 または、作成メソッドをトリガーします。私は、データ-役割=「ページ」を削除することはお勧めしません

+0

jQmは、多くのルックアンドフィールと機能性のためにHTML5データ属性を使用します。それを削除するとjQMの機能が損なわれます。今、私はあなたが必要とするjQMの部分を引っ張って、そのようなカスタムを何かすることができると思いますか?私は作品にダウンロードビルダーがあることを知っていますが、gitリポジトリに向かい、デカップリングウィジェットの1つをダウンロードすることもできます://github.com/jquery/jquery-mobile/tree/master/js –

+0

ありがとうPhill!つまり、jQuery Mobileをロードする前に、次のようなことを実行できますか?$( 'header')。attr( 'data-role、 "ヘッダー); –

+0

はい、ただし、HTML5データ属性はカスタム属性であるため、jQMを使用していない場合は独自の機能を追加する必要があります。データのロール= 'page'属性を削除する限り、jQMはこれをナビゲーションに使用します –

答えて

1

(それはAjaxのナビゲーションのために必要だ)、および他のタグのために私はjQueryのモバイルJavaScriptを前に、これを行う

$(":jqmData(role='page')").live('pagebeforecreate', function(){ 
    var $page=$(this); 
    $page.find("header:not([data-role])").attr('data-role', 'header'); 
    $page.find("nav:not([data-role])").attr('data-role', 'navbar'); 
    $page.find("footer:not([data-role])").attr('data-role', 'footer'); 
} 
2

を実行することができます。

$('section').attr('data-role','page'); 
$('article').attr('data-role','content'); 
$('header').attr('data-role','header'); 
$('nav').attr('data-role','navbar'); 
$('aside').addClass('ui-li-aside'); 
$('ul').not('nav > ul').not('.nolst').attr('data-role','listview').attr('data-inset','true'); 
$('ol').not('nav > ol').attr('data-role','listview').attr('data-inset','true');; 
$('a').not('li > a').not('.nobtn').attr('data-role','button'); 
$('footer').attr('data-role','footer'); 
関連する問題