1

Jquery Mobile で次の問題が発生します。当サイトはモバイルサイトと固定デスクトップサイトに分かれています。どちらも同じデータベースと php コードを使用します。テンプレートのみが異なります。

私たちのモバイル サイトでは、ユーザー エクスペリエンスを向上させるために Jquery モバイルを使用していますが、これは問題なく動作します。ただし、「デスクトップに移動」ボタンを統合しました。このリンクをクリックすると、「通常の」デスクトップ サイトに戻るはずです。
しかし、問題があります。デスクトップ サイトでは、Jquery モバイルがまだアクティブ化されており、ドロップダウン フィールドや入力フィールドが置き換えられ、デスクトップ サイトが完全に混乱しています。

JQM を無効にするためにあらゆることを試みましたが、何も機能していないようです。

モバイル サイト テンプレートからデスクトップ サイト テンプレートに切り替えて、デスクトップ テンプレートを使用しているときに JQM を完全に無効にするにはどうすればよいですか?

助けてくれてどうもありがとう!

4

1 に答える 1

1

利用可能なソリューションはほとんどありませんが、実際に機能するのは 1 つだけです。

作業例: http://jsfiddle.net/Gajotres/NvEcW/

最初にこれを設定する必要があります。

<script>
    $(document).on('mobileinit', function () {
        $.mobile.ignoreContentEnabled = true;
    });
</script>

プログラムでコンテンツ強化のオン/オフを切り替えることができます。このmobileinitイベントをまだご存じない場合は、jQuery Mobile の初期化の前に、jQuery の初期化の後に初期化する必要があります。これは常にページの一部である必要があります。

最後のステップがあります。モバイルからデスクトップ ページに移動する場合は、ページをリロードして次の JavaScript を使用する必要があります。

$(document).on('pagebeforecreate', '#index', function(){ 
    $(this).attr('data-enhance','false');
});

この時点ではコンテンツはまだ拡張されておらず、属性data- enhance = false によってそれ以上のページ拡張が妨げられるため、 Pagebeforecreateイベントは重要です。再度オンにする場合は、属性値を true に設定します。

さらに解決策が必要な場合は、私の他の回答を見て、トピックマークアップ拡張防止の方法: jQuery Mobile: 動的に追加されたコンテンツのマークアップ拡張 を検索してください。

于 2013-05-11T22:58:42.843 に答える