1

だから私は初めてjQueryモバイルを使用しています。

私はそれを追加し、前のページに戻るためにスワイプ機能を使用しています。

しかし、色々と調べているうちに、jQuery モバイルを追加することで犠牲になったことがいくつかあることに気付きました。を使用して、入力などの要素の変更をなんとか停止しました$( "input, textarea, select", e.target ).attr( "data-role", "none" );

1)。読み込み中のメッセージが画面の下部に表示されます。これを使用して削除しました$.mobile.loadingMessage = false;が、フッターの下に白い線が表示される必要がない場合でも、スクロールバーが表示されます。

2)。私のページの 1 つで、次のコードが動作しなくなりました。

$(document).ready(function() {

    $("#arrow_click").click(function(){

        var theclass = $(this).attr("class");

        if(theclass == "icon-chevron-down"){
            $("#table_cont").hide();
        } else if(theclass == "icon-chevron-up"){
            $("#table_cont").show();
        }

    });

});

これら2つの問題について誰かが光を当てることができますか?

ありがとう

4

1 に答える 1

2

Jquery は、次のように、最後のページに以下の読み込み div を追加します。

<div class="ui-loader ui-corner-all ui-body-a ui-loader-default"><span class="ui-icon ui-icon-loading"></span>

 <h1>loading</h1>

</div>

それを取り除くには、次のいずれかの 2 つのオプションがあります。div の class を呼び出して、hide();それまたはそれを行います。いずれかの解決策を試してください。.remove();ui-loader

隠します。

.hide();div にスタイルを追加しますdisplay: none;が、削除しません。

$(document).on("pageshow", "[data-role='page']", function () {
 $('div.ui-loader').hide();
});

それを除く。

.remove();div とそのコンテンツを削除します。したがって、読み込み中のメッセージを他のページに表示したい場合に備えて、これを賢く使用する必要があります。

$(document).on("pageshow", "[data-role='page']", function () {
 $('div.ui-loader').remove();
});

一部のページで読み込みメッセージを保持したい場合は、読み込みメッセージのないページに を割り当てます。classつまり、 add.no-loadmsgの代わりに上記と同じコードを使用します。[data-role='page'][data-role='page'].no-loadmsg

$(document).on("pageshow", "[data-role='page'].no-loadmsg", function () {
 $('div.ui-loader').remove();
});

.no-loadmsgこれにより、クラスのみを含む目的のページからロード div が削除されます。

上記で問題が解決することを願っています。

于 2013-03-09T16:03:40.490 に答える