4

JqueryMobileで複数列のレイアウトに取り組んでいます。

ユーザーが複数列のページを開いたときに、JQM ajaxlinksナビゲーションを無効にしたい(そして「人工ナビゲーションと履歴」に切り替えたい。したがって、基本的には、クラス名="ui-hashのリンクまたはリストアイテムにバインドしようとしています。 -blocked "。ユーザーがページを離れると、ajaxlinksをオンに戻します。

私はそのアイデアが好きですが、このコードを機能させることができません(エラー:$。mobile'[未定義])

$('.ui-hash-block').click(function ()
             {
             $.mobile.ajaxLinksEnabled = false;               
             });

構文に何か問題がありますか?

JQMを開始する前に$.mobileを呼び出すとエラーが発生することはわかっていますが、この関数を呼び出すのはリンク/リストアイテムがクリックされたときだけなので、JQMはすでに開始されているはずです。

ヘルプとメリークリスマスをありがとう!

頻繁

PS:もっとコードが必要な場合は、例を挙げましょう。

4

3 に答える 3

18

data-ajax="false"特定のリンクでのみこの動作が必要な場合は、リンクに追加してください

于 2011-08-23T10:26:45.350 に答える
2
$(document).bind("mobileinit", function(){
  //Disable ajax link
  $('.disable-ajax').click(function(event){
    $.mobile.ajaxFormsEnabled = false;
  });
});
于 2011-04-27T05:55:49.010 に答える
0

この$.mobile。*は、かなり早い段階で使用されている一連の構成オプションです。そのため、初期化するタイミングがここに表示されます。この設定はグローバル設定です。

あなたがやろうとしているのはハッキーです。しかし、私はあなたが正しい瞬間に設定を変更できると信じています、それはこれらのうちの1つでなければなりません:

  1. クリックの直前-例でクリックのmousedownイベントinsteqadを試してください

  2. アイテムがJQMで刺激される前に:

    $ .mobile.ajaxLinksEnabled = false;
    $('theNEWelement')。appendTo('somewhere')。page();
    $ .mobile.ajaxLinksEnabled = false;

結果をコメントして、どれが機能したかをマークするために編集します。現時点ではテストできません。

于 2011-01-03T12:14:48.297 に答える