3

jQuery.mobile と asp.net の Web フォームを組み合わせたモバイル ソリューションを開発しています。

asp.net コントロールのポストバックが正しく機能するためには、次のようにページの上部で ajax を無効にする必要があります。

   <script>
      $.mobile.ajaxEnabled = false;
   </script>

しかし、このように ajax を無効にすると、他の機能が動作しないようです。jQueryドキュメントレディからダイアログ/ポップアップを呼び出すことができません

例えば:

  $(document).ready(function () {        
     $('#myPopup').popup('open'); 
  });

これにより、ポップアップが 1 秒以内に表示され、その後消えます。また、コードビハインドから clientscript を登録して、サーバー側のボタンがクリックされたときにポップアップをトリガーすると、ポップアップが点滅して消えます。しかし、ページの上部で ajax を無効にすると、ポップアップ呼び出しは正常に機能します。

これらの問題を回避する方法はありますか?

4

2 に答える 2

0

ドキュメントレディは、で正常に使用できませんjQuery Mobile。通常、ページDOMにデータが入力される前にトリガーされます。

この行の代わりに:

$(document).ready(function () {        
    $('#myPopup').popup('open'); 
});

次の行を使用します。

$(document).on('pagebeforeshow', '#page-id', function(){       
    $('#myPopup').popup('open'); 
});

#page-idそのポップアップを含むページのIDはどこにありますか。

jQuery Mobileにはドキュメントの準備に問題があるため、開発者はこの問題を解決するためのページ偶数を作成しました。この記事で詳細を読むか、ここで見つけください

編集 :

あなたの問題は$.mobile.ajaxEnabled = false;取り扱いにもあると思います。

そのコードサンプルは、次のようなイベントからトリガーする必要があります。mobileinit

$(document).bind("mobileinit", function () {
    $.mobile.ajaxEnabled = false;
});

もう1つ、次のように、初期化する前にmobileinitイベントをトリガーする必要があります。jQuery Mobile

<script src="http://www.dragan-gaic.info/js/jquery-1.8.2.min.js"></script>      
<script>
        $(document).bind("mobileinit", function () {
            $.mobile.ajaxEnabled = false;
        });    
</script>
<script src="http://code.jquery.com/mobile/1.2.0/jquery.mobile-1.2.0.min.js"></script>  
于 2013-03-14T09:54:12.443 に答える
0

やったよ.....

ここに記載されている指示は使用しないでください

jquery.mobile-1.3.1.min.js ファイルを開いて ajaxEnabled:!0 に変更するだけです: ajaxEnabled:!1

CTRL+F5 を押して、続行中のプロジェクトを楽しんでください! ;)

于 2013-07-25T07:00:39.517 に答える