0

Lightwitch 2013 HTML クライアントを使用します。画面上のタブが選択された (またはクリックされた) ときに発生するイベントを追加しようとしています。次のコードでは結果が得られません:-

myapp.ViewThing.HistoryTab_postRender = function (element, contentItem) {
    $(element).click(function () { alert("clicked on tab !!!"); });
    $(element).select(function () { alert("selected tab !!!"); });
};

上記は、画面上のタブのレンダリング後のコードです。同じ種類のコードは、テキスト フィールドなどの他の画面オブジェクトにも機能します。

私が間違っていること、またはこれがタブで機能しない理由は何ですか?

ありがとう !

4

2 に答える 2

0

jQuery を使用して、対応するリスナーをタブ コンテナーに接続し (postRender イベントで画面ごとに 1 回)、現在アクティブなタブのみを処理できます。

myapp.ViewThing.HistoryTab_postRender = function (element, contentItem) {
    $(".msls-tabs-container li").on("click", function (e) {
        $.each(contentItem.screen.details.pages, function () {
            if (this.___isActivated) {
                // use 'this'
            };
        });
    });
};

別の可能性は、DOM ツリーで最も近い対応する div を検索することです。

myapp.ViewThing.HistoryTab_postRender = function (element, contentItem) {
    $(element).closest("div[data-role='page']").find(".msls-tabs-container li").click(function (e) {
        // use $(this)
    });
};
于 2014-05-24T03:46:14.270 に答える
0

作成した関数でこれを試してください

  $($.mobile.activePage
.find(".msls-screen-tab")[4]).on("click", function (e) {
    //Do something.
});
}, 0);

[4] はタブ オーダーで、最初のタブは [0] から始まります。

よろしくスヴェン

于 2014-08-22T12:55:58.887 に答える