1

以下は、複数の画面間で使用されるビュー テンプレートの一部であるナビゲーション バーの定義です。

    <div data-role="layout" data-id="app">
        <header data-role="header">
          <div data-role="navbar">
              <a class="nav-button" data-align="left" data-role="backbutton">Back</a> 
              <span data-role="view-title">Title</span>
              <a class="nav-button" data-align="right" data-role="button" data-click="doneTapped" id="btnDone">Done</a> 
          </div>
        </header>
    </div>

「完了」ボタンは一部の画面でのみ必要なため、メイン ページが読み込まれると非表示になります。

    $("#btnDone").hide();

ボタンを非表示にすると正常に機能しますが、再度表示すると機能しません。

    $("#btnDone").show();

ボタンが表示されません。

4

4 に答える 4

0

$("#btnDone").hide();使用して使用する代わりに$("#btnDone").show();

ボタンを隠す:

$("#btnDone").css("visibility", "hidden");

ボタンを表示:

$("#btnDone").css("visibility", "visible");
于 2013-01-10T21:24:02.143 に答える
0

この状況で私にとってうまくいったことは、IDに依存する代わりに、表示/非表示にしたいボタンにクラスを配置することです:

<div data-role="layout" data-id="app">
    <header data-role="header">
      <div data-role="navbar">
          <a class="nav-button" data-align="left" data-role="backbutton">Back</a> 
          <span data-role="view-title">Title</span>
          <a class="nav-button btnDone" data-align="right" data-role="button" data-click="doneTapped" id="btnDone">Done</a> 
      </div>
    </header>
</div>

次に、クラスを使用して非表示にします。

$(".btnDone").hide();

これがあなたにとってもうまくいくことを願っています。

于 2013-09-04T21:38:02.177 に答える
0

異なるビューで戻るボタンを非表示および表示する方法は、2 つの異なるレイアウトを使用することでした。1ページに戻るボタンのみを表示するため、これは私のユースケースではうまくいきました。

        <!--Default Layout with Main Menu and no backbutton-->
        <div data-role="layout" data-id="layout">

            <!--Header-->
            <div data-role="header">
                <div data-role="navbar">
                    <span data-role="view-title"></span>
                </div>
            </div>

            <!--Footer-->
            <div data-role="footer">
                <div data-role="tabstrip">
....
                </div>
            </div>
        </div>

        <!--Layout with Back Button-->
        <div data-role="layout" data-id="layoutBackButton">

            <div data-role="header">
                <div data-role="navbar">
                    <a data-role="backbutton" data-align="left">
                        <!-- data-bind="isVisible: showBackButton" -->
                        <i class="fa fa-chevron-left fa-lg"></i>
                    </a>
                    <span data-role="view-title"></span>
                </div>
            </div>
        </div>

[戻る] ボタンを使用するリモート ビューは、他のレイアウトを指定します。

<div         data-layout="layoutBackButton"
             data-role="view"
...>
于 2014-02-25T10:58:46.147 に答える