とりあえず書きなぐる

とりあえず、マイノリティーなプログラムを極力説明せずに書きなぐります

やっぱりPopupも必要

ポップアップを拡張してみます

/Src/cm.css

/* 
  Popup 
*/
.ui-popup > .ui-header:after,
.ui-popup > .ui-footer:after {
  content: "";
  clear: both;
  display: block;
}

ポップアップにヘッダ、フッタを付けたときのfloat対策です

/Src/cm.ts
namespace cmを追加してメソッド追加

namespace cm {
    "use strict";

    export function getScrollTop() {
        return document.documentElement.scrollTop || document.body.scrollTop;
    }

    export function getActivePageId(): string {
        let pg = getActivePage();
        if ((pg) && (pg[0])) {
            return pg[0].id;
        }
        return "";
    }

    export function getActivePage(): JQuery {
        return $.mobile.pageContainer.pagecontainer("getActivePage");
    }
}

/Src/cm.ts
元のポップアップオプションにいくつか追加

/*
 * ポップアップ
 */
interface PopupOptions {
    arrow?: boolean;
    positionFixed?: boolean;                                     // 位置固定
    restoreScrollPos?: boolean;	                                // スクロール位置復元
    focusSelector?: string | JQuery;                           // フォーカス指定
    closeButton?: boolean;                                       // 閉じるボタン付加
    onHeightOverflow?(overflow: boolean): any;     // 高さ食み出しイベント
    onClosed?: any;                                                  // 終了イベント
}

続けて実装

namespace Popup {
    "use strict";

    /*
     * コンテナ取得
     */
    export function getContainer(selector: string | JQuery): JQuery {
        return $(selector).closest(".ui-popup-container");
    }

    /*
     * オープン
     */
    export function open(selector: string | JQuery, options?: PopupOptions): JQuery {
        let pos: number = undefined;

        let target = $(selector);
        let Container = getContainer(target);

        // 閉じるボタン追加
        if (options && options.closeButton) {
            target.css("padding-top", "2em");

            let btn = $("<button>");
            btn.addClass("ui-btn ui-btn-icon-notext ui-icon-delete ui-popup-close");
            btn.css({
                "position": "absolute"
                , "margin": "0.3em"
                , "top": 0
                , "right": 0
                , "left": "auto"
                , "bottom": "auto"
                , "padding": 0
            });
            target.append(btn);
        }

	/*
	 * 位置変更
	 */
        target.off("popupbeforeposition").on("popupbeforeposition", function (event: Event, data: any) {
            // 位置固定
            if (options && options.positionFixed) {
                // Container.css("position", "fixed");
            }
            // 位置指定
            if (options && options.positionTo) {
                delete data.x;
                delete data.y;
                data.positionTo = options.positionTo;	// リサイズ時の位置復元
            }
            // 高さオーバーフローイベント
            if (options && options.onHeightOverflow) {
                let winH = $(window).height();
                let itmH = target.outerHeight();

                let overflow = false;
                if (itmH >= winH) {
                    overflow = true;
                }
                options.onHeightOverflow(overflow); // コールバック
            }
        });

	/*
	 * オープン後
	 */
        target.off("popupafteropen").on("popupafteropen", function (event: Event) {
            // フォーカス指定
            if (options && options.focusSelector) {
                let itm = $(options.focusSelector);
                itm.focus();
            }
            // 位置固定
            if (options && options.positionFixed) {
                Container.css({
                    "position": "fixed"
                    , "margin-top": -cm.getScrollTop()
                });
            }
            $(window).resize();
        });

	/*
	 * クローズ
	 */
        target.off("popupafterclose").on("popupafterclose", function (event: Event) {
            // スクロール位置復元
            if (isNaN(pos) === false) {
                $.mobile.silentScroll(pos);
            }
            // 終了イベント
            if (options && options.onClosed) {
                options.onClosed();			// コールバック
            }
            // イベントハンドラ破棄
            target.off("popupbeforeposition")
                .off("popupafteropen")
                .off("popupafterclose");

            // コンテナ位置設定削除
            Container.css("position", "");

            target = null;
            Container = null;
        });

        // スクロール位置保持
        if (options && options.restoreScrollPos) {
            pos = cm.getScrollTop();
        }

        // オープン
        if (!options) {
            options = { transition: "fade" };
        } else {
            if (!options.transition) {
                options.transition = "fade";
            }
        }
        target.popup(options).popup("open", options);
        return target;
    }

    /*
     * クローズ
     */
    export function close(): boolean {
        if ($(".ui-popup").isVisible() === true) {
            $(".ui-popup").popup("close");
            return true;
        }
        return false;
    }

    export function isActive(id?: string): boolean {
        if (id) {
            return ($("#" + id + "-popup.ui-popup-active").length > 0);
        } else {
            return ($(".ui-popup-active").length > 0);
        }
    }

    /*
     * クローズボタン押下
     */
    $(document).on("click", ".ui-btn.ui-popup-close", function (event: Event) {
        Popup.close();
    });
}

ついでにありがちなメッセージボックス

namespace cm {
    ....

    export class MsgBallon {
        onClosed(result: boolean) { ; };

        constructor(message: string, positionTo: any, hasCancel?: boolean) {
            let scope = this;

            let content = "";
            content += "<div";
            content += " data-role='popup'";
            content += " data-history='false'";
            content += " data-overlay-theme='a'";
            content += ">";

            content += " <div role='main' class='ui-content'>";
            content += "  <p>" + message + "</p>";
            content += " </div>";

            content += " <div data-role='footer' style=text-align:right;padding:0.3em;>";
            content += "  <a href='#' class='ui-btn ui-btn-inline ui-btn-active' cmd='apply'>OK</a>";
            if (hasCancel) {
                content += "  <a href='#' class='ui-btn ui-btn-inline' cmd='cancel'>キャンセル</a>";
            }
            content += " </div>";
            content += "</div>";

            // 作成
            let box = $(content)
                .appendTo(cm.getActivePage())
                .enhanceWithin()
                .popup();

            // ボタン押下
            let result = false;
            box.find(".ui-btn").off("click").on("click", function (event: Event) {
                let cmd = $(this).attr("cmd");
                switch (cmd) {
                    case "apply":
                        result = true;
                        box.popup("close");
                        break;

                    case "cancel":
                        box.popup("close");
                        break;
                }
            });

            // 表示
            Popup.open(box, {
                transition: "pop"
                , positionTo: positionTo
                , arrow: true
                , closeButton: true
                , onClosed: function () {
                    scope.onClosed(result);
                    box.remove();
                }
            });
        }
    }

    export namespace MsgBallon {
        export function show(message: string, positionTo: any, hasCancel?: boolean) {
            return new MsgBallon(message, positionTo, hasCancel);
        }
    }

    export class MsgBox {
        onClosed(result: boolean) { ; };

        constructor(message: string, title: string, hasCancel?: boolean) {
            let scope = this;

            let content = "";
            content += "<div";
            content += " data-role='popup'";
            content += " data-history='false'";
            content += " data-overlay-theme='b'";
            content += " data-dismissible='false'";
            content += ">";

            content += " <div data-role='header'>";
            content += "  <h1>" + title + "</h1>";
            content += " </div>";

            content += " <div role='main' class='ui-content'>";
            content += "  <p style='text-align:center;'>" + message + "</p>";
            content += " </div>";

            content += " <div data-role='footer' style=text-align:center;padding:0.3em;>";
            content += "  <a href='#' class='ui-btn ui-btn-inline ui-btn-active' cmd='apply'>OK</a>";
            if (hasCancel) {
                content += "  <a href='#' class='ui-btn ui-btn-inline' cmd='cancel'>キャンセル</a>";
            }
            content += " </div>";
            content += "</div>";

            // 作成
            let box = $(content)
                .appendTo(cm.getActivePage())
                .enhanceWithin()
                .popup();

            // ボタン押下
            let result = false;
            box.find(".ui-btn").off("click").on("click", function (event: Event) {
                let cmd = $(this).attr("cmd");
                switch (cmd) {
                    case "apply":
                        result = true;
                        box.popup("close");
                        break;

                    case "cancel":
                        box.popup("close");
                        break;
                }
            });

            // 表示
            Popup.open(box, {
                transition: "pop"
                , onClosed: function () {
                    scope.onClosed(result);
                    box.remove();
                }
            });
        }
    }

    export namespace MsgBox {
        export function show(message: string, title: string, hasCancel?: boolean) {
            return new MsgBox(message, title, hasCancel);
        }
    }
}

動的に作成します
enhanceWithin()でdata-***がclassに展開されるようです

サンプル
内容は殴り書きです
SubWindow→Popupも用意しました
/Views/Home/Index.vbhtml

<!DOCTYPE html>
<html>
<head>
  <title>Home</title>
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1" />
  <meta charset="utf-8" />

  <link rel="stylesheet" href="@Url.Content("~/Content/jquery.mobile-1.4.5.min.css")" />
  <link rel="stylesheet" href="@Url.Content("~/Src/cm.css")" />
  <link rel="stylesheet" href="@Url.Content("~/Src/app.css")" />

  <script type="text/javascript" src="@Url.Content("~/Scripts/jquery-2.1.3.min.js")"></script>
  <script type="text/javascript" src="@Url.Content("~/Scripts/jquery.mobile-1.4.5.min.js")"></script>
  <script type="text/javascript" src="@Url.Content("~/Src/cm.js")"></script>
  <script type="text/javascript" src="@Url.Content("~/Src/home.js")"></script>

  <style type="text/css">
    .menu {
      width: 20em;
      float: left;
      margin-left: 1em!important;
    }

    ul.ui-listview > li.ui-li-divider,
    div.ui-header > .ui-title {
      border-color: blue;
      background-color: blue;
      color: white;
    }

    .ui-flipswitch-active.ui-flipswitch,   
    .ui-btn-active {
      border-color: blue !important;
      background-color: blue !important;
    }

    #page1 > .ui-header > .ui-title {
      padding-right: 10.5em;
    }

  </style>

</head>
<body class="ui-nodisc-icon ui-alt-icon ui-desktop">

  <div data-role="page" id="page1">

    <div data-role="popup" data-history="false" id="popup0" data-arrow="true" data-overlay-theme="b">
      <p>ポップアップ</p>
    </div>

    <div data-role="popup" data-history="false" id="popup1">
      <ul data-role="listview" data-icon="false">
        <li><a href="#">メニュー1</a></li>
        <li><a href="#">メニュー2</a></li>
        <li><a href="#">メニュー3</a></li>
        <li><a href="#">メニュー4</a></li>
      </ul>
    </div>

    <div data-role="popup" data-history="false" id="popup2" data-overlay-theme="b" data-dismissible="false">
      <div data-role="header">
        <h1>Header</h1>
        <a href="#" class="ui-btn ui-btn-icon-notext ui-icon-delete ui-popup-close ui-btn-right"></a>
        <div class="ui-toolbar" id="toolbar2">
          <div class="ui-left-panel">
            <div class="ui-toolbar-divider">
              <a href="#" class="ui-btn ui-btn-icon-left ui-icon-star">ボタン5</a>
            </div>
          </div>
          <div class="ui-right-panel">
            <div class="ui-toolbar-divider">
              <a href="#" class="ui-btn ui-btn-icon-left ui-icon-action ui-btn-active">ボタン6</a>
              <a href="#" class="ui-btn ui-btn-icon-notext ui-icon-gear">ボタン7</a>
            </div>
            <div class="ui-toolbar-divider">
              <a href="#" class="ui-btn">ボタン8</a>
              <a href="#" class="ui-btn">ボタン9</a>
              <a href="#" class="ui-btn">ボタン10</a>
            </div>
            <div class="ui-toolbar-divider">
              <a href="#" class="ui-btn">ボタン11</a>
              <a href="#" class="ui-btn">ボタン12</a>
            </div>
          </div>
        </div>
      </div>
      <div role="main" class="ui-content">
        <ul data-role="listview" data-inset="true" data-icon="false" class="split">
          <li>
            <div class="ui-field-contain em7">
              <label for="text-121">Text input:</label>
              <div>
                <input name="text-121" id="text-121" type="text" value="">
              </div>
            </div>
            <button class="ui-btn ui-btn-icon-notext ui-btn-split ui-icon-carat-d"></button>
          </li>
          <li>
            <div class="ui-field-contain em7">
              <label for="text-13">Text input clr:</label>
              <div>
                <input name="text-13" id="text-13" type="text" value="" data-clear-btn="true">
              </div>
            </div>
          </li>
          <li>
            <div class="ui-field-contain em7">
              <label for="search-8">Search:</label>
              <div>
                <input name="search-8" id="search-8" type="search" value="">
              </div>
            </div>
          </li>
          <li>
            <div class="ui-field-contain em7">
              <label for="textarea-12">Textarea:</label>
              <div>
                <textarea name="textarea-12" id="textarea-12" rows="8" cols="40"></textarea>
              </div>
            </div>
            <button class="ui-btn ui-btn-icon-notext ui-btn-split ui-icon-delete"></button>
          </li>
          <li>
            <div class="ui-field-contain em7">
              <label for="Switch">Flip switch:</label>
              <div>
                <input name="flip-checkbox-1" id="flip-checkbox-1" type="checkbox" data-role="flipswitch">
              </div>
            </div>
          </li>
        </ul>
      </div>
      <div data-role="footer">
        <div class="ui-toolbar">
          <div class="ui-left-panel">
            <a href="#" class="ui-btn">リセット</a>
          </div>
          <div class="ui-right-panel">
            <a href="#" class="ui-btn ui-btn-active">OK</a>
            <a href="#" class="ui-btn ui-popup-close">キャンセル</a>
          </div>
        </div>
      </div>
    </div>

    <div data-role="popup" data-history="false" id="popup3" data-arrow="true">
      <ul data-role="listview" data-icon="false">
        <li><a href="#">アイテム1</a></li>
        <li><a href="#">アイテム2</a></li>
        <li><a href="#">アイテム3</a></li>
        <li><a href="#">アイテム4</a></li>
        <li><a href="#">アイテム5</a></li>
        <li><a href="#">アイテム6</a></li>
        <li><a href="#">アイテム7</a></li>
        <li><a href="#">アイテム8</a></li>
        <li><a href="#">アイテム9</a></li>
        <li><a href="#">アイテム10</a></li>
      </ul>
    </div>

    <div id="subwindow3" class="ui-subwindow static left">
      <div style="max-width:500px;">
        <div class="ui-content">
          <div class="ui-field-contain em5">
            <label for="text-14">Text input:</label>
            <div>
              <input name="text-14" id="text-14" type="text" value="">
            </div>
          </div>
        </div>
        <div class="ui-footer">
          <div class="ui-toolbar">
            <div class="ui-right-panel">
              <a href="#" class="ui-btn ui-btn-active">OK</a>
              <a href="#" class="ui-btn ui-subwindow-close">キャンセル</a>
            </div>
          </div>
        </div>
      </div>
    </div>

    <div id="subwindow2" class="ui-subwindow ui-dismissible">
      <div>
        <div class="ui-header">
          <h1 class="ui-title">Header</h1>
          <a href="#" class="ui-btn ui-btn-icon-notext ui-icon-delete ui-subwindow-close ui-btn-right"></a>
        </div>
        <div class="ui-content">
          <ul data-role="listview" id="subwindow2_list">
            <li><a href="#">A</a></li>
            <li><a href="#">B</a></li>
            <li><a href="#">C</a></li>
            <li><a href="#">D</a></li>
            <li><a href="#">E</a></li>
            <li><a href="#">A</a></li>
            <li><a href="#">B</a></li>
            <li><a href="#">C</a></li>
            <li><a href="#">D</a></li>
            <li><a href="#">E</a></li>
            <li><a href="#">A</a></li>
            <li><a href="#">B</a></li>
            <li><a href="#">C</a></li>
            <li><a href="#">D</a></li>
            <li><a href="#">E</a></li>
            <li><a href="#">A</a></li>
            <li><a href="#">B</a></li>
            <li><a href="#">C</a></li>
            <li><a href="#">D</a></li>
            <li><a href="#">E</a></li>
          </ul>
        </div>
      </div>
    </div>

    <div id="subwindow1" class="ui-subwindow">
      <div>
        <div class="ui-header">
          <h1 class="ui-title">Header</h1>
          <a href="#" class="ui-btn ui-btn-icon-notext ui-icon-delete ui-subwindow-close ui-btn-right"></a>
          <a href="#" class="ui-btn ui-btn-icon-notext ui-icon-delete ui-subwindow-close ui-btn-left"></a>
          <div class="ui-toolbar" id="toolbar2">
            <div class="ui-left-panel">
              <div class="ui-toolbar-divider">
                <a href="#" class="ui-btn ui-btn-icon-left ui-icon-star">ボタン5</a>
              </div>
            </div>
            <div class="ui-right-panel">
              <div class="ui-toolbar-divider">
                <a href="#" class="ui-btn ui-btn-icon-left ui-icon-action ui-btn-active">ボタン6</a>
                <a href="#" class="ui-btn ui-btn-icon-notext ui-icon-gear">ボタン7</a>
              </div>
              <div class="ui-toolbar-divider">
                <a href="#" class="ui-btn">ボタン8</a>
                <a href="#" class="ui-btn">ボタン9</a>
                <a href="#" class="ui-btn">ボタン10</a>
              </div>
              <div class="ui-toolbar-divider">
                <a href="#" class="ui-btn">ボタン11</a>
                <a href="#" class="ui-btn">ボタン12</a>
              </div>
            </div>
          </div>
        </div>
        <div class="ui-content">
          <ul data-role="listview" data-icon="false" class="split" id="sublist1">
            <li>
              <div class="ui-field-contain em7">
                <label for="text-12">Text input:</label>
                <div>
                  <input name="text-12" id="text-12" type="text" value="">
                </div>
              </div>
              <button class="ui-btn ui-btn-icon-notext ui-btn-split ui-icon-carat-d" cmd="popup3"></button>
            </li>
            <li>
              <div class="ui-field-contain em7">
                <label for="text-13">Text input clr:</label>
                <div>
                  <input name="text-13" id="text-13" type="text" value="" data-clear-btn="true">
                </div>
              </div>
            </li>
            <li>
              <div class="ui-field-contain em7">
                <label for="search-8">Search:</label>
                <div>
                  <input name="search-8" id="search-8" type="search" value="">
                </div>
              </div>
            </li>
            <li>
              <div class="ui-field-contain em7">
                <label for="textarea-12">Textarea:</label>
                <div>
                  <textarea name="textarea-12" id="textarea-12" rows="8" cols="40"></textarea>
                </div>
              </div>
              <button class="ui-btn ui-btn-icon-notext ui-btn-split ui-icon-delete"></button>
            </li>
            <li>
              <div class="ui-field-contain em7">
                <label for="Switch">Textarea:</label>
                <div>
                  <input name="flip-checkbox-1" id="flip-checkbox-1" type="checkbox" data-role="flipswitch">
                </div>
              </div>
            </li>
          </ul>
        </div>
        <div class="ui-footer">
          <div class="ui-toolbar">
            <div class="ui-left-panel">
              <a href="#" class="ui-btn">ボタン3</a>
            </div>
            <div class="ui-right-panel">
              <a href="#" class="ui-btn ui-btn-active">OK</a>
              <a href="#" class="ui-btn ui-subwindow-close">キャンセル</a>
            </div>
          </div>
        </div>
      </div>
    </div>

    <div id="subwindow0" class="ui-subwindow ui-dismissible" title="オーバーレイ">
      <div title="ウィンドウ">
        <div class="ui-header">
          <h1 class="ui-title">Header</h1>
        </div>
        <div class="ui-content">
        </div>
        <div class="ui-footer">
          <h1 class="ui-title">Footer</h1>
        </div>
      </div>
    </div>

    <div data-role="header" data-position="fixed" data-fullscreen="false" data-tap-toggle="false">
      <h1 class="ui-icon ui-icon-home-w ui-title-left">HeaderHeaderHeaderHeaderHeaderHeader</h1>
      <div class="ui-right-panel">
        <a href="#page2" class="ui-btn">ダイアログページ</a>
        <a href="#" class="ui-btn ui-btn-icon-notext ui-icon-delete">ボタン2</a>
      </div>
      <div class="ui-toolbar" id="toolbar1">
        <div class="ui-left-panel">
          <div class="ui-toolbar-divider">
            <a href="#" class="ui-btn ui-btn-icon-left ui-icon-star">star</a>
            <a href="#" class="ui-btn ui-btn-icon-notext ui-icon-star"></a>
            <a href="#" class="ui-btn ui-btn-icon-notext ui-icon-alert"></a>
          </div>
        </div>
        <div class="ui-right-panel">
          <div class="ui-toolbar-divider">
            <a href="#" class="ui-btn ui-btn-icon-left ui-icon-action ui-btn-active">Active</a>
            <a href="#" class="ui-btn ui-btn-icon-notext ui-icon-gear"></a>
          </div>
          <div class="ui-toolbar-divider">
            <a href="#" class="ui-btn">ボタン</a>
            <a href="#" class="ui-btn ui-btn-icon-left ui-icon-search">Search</a>
            <a href="#" class="ui-btn ui-btn-icon-notext ui-icon-search"></a>
          </div>
          <div class="ui-toolbar-divider">
            <a href="#" class="ui-btn ui-btn-icon-left ui-icon-edit">Edit</a>
            <a href="#" class="ui-btn ui-btn-icon-notext ui-icon-edit"></a>
          </div>
        </div>
      </div>
    </div>

    <div role="main" class="ui-content">
      <ul data-role="listview" data-inset="true" data-icon="false" class="menu" id="subwindowMenu">
        <li data-role="list-divider">サブウィンドウ</li>
        <li><a href="#" cmd="subwin0"></a></li>
        <li><a href="#" cmd="subwin1">ダイアログ</a></li>
        <li><a href="#" cmd="subwin2">リスト</a></li>
        <li><a href="#" cmd="subwin3">Input</a></li>
      </ul>
      <ul data-role="listview" data-inset="true" data-icon="false" class="menu" id="popupMenu">
        <li data-role="list-divider">ポップアップ</li>
        <li><a href="#" cmd="popup0"></a></li>
        <li><a href="#" cmd="popup0.1">Popup</a></li>
        <li><a href="#" cmd="popup1">メニュー</a></li>
        <li><a href="#" cmd="popup2">素ダイアログ</a></li>
        <li><a href="#" cmd="popup2.1">ダイアログ</a></li>
        <li><a href="#" cmd="msgbox">メッセージボックス</a></li>
        <li><a href="#" cmd="msgballon">メッセージバルーン</a></li>
        <li><a href="#">HH</a></li>
        <li><a href="#">II</a></li>
        <li><a href="#">JJ</a></li>
        <li><a href="#">KK</a></li>
      </ul>
      <ul data-role="listview" data-inset="true" data-icon="false" class="menu">
        <li data-role="list-divider">Menu3</li>
        <li><a href="#">AAA</a></li>
        <li><a href="#">BBB</a></li>
      </ul>
    </div>

    <div data-role="footer" data-position="fixed" data-fullscreen="false" data-tap-toggle="false">
      <div class="ui-toolbar">
        <div class="ui-left-panel">
          <a href="#" class="ui-btn">ボタン3</a>
        </div>
        <div class="ui-right-panel">
          <a href="#" class="ui-btn ui-btn-active">OK</a>
          <a href="#" class="ui-btn">キャンセル</a>
        </div>
      </div>
    </div>
  </div>

  <div data-role="page" id="page2">
    <div data-role="header" data-position="fixed" data-fullscreen="false" data-tap-toggle="false">
      <h1>Dialog</h1>
      <a href="#" class="ui-btn ui-btn-icon-notext ui-icon-video">ボタン1</a>
    </div>

    <div role="main" class="ui-content ui-form">
      <ul data-role="listview" data-inset="true" data-icon="false" class="split">
        <li>
          <div class="ui-field-contain em7">
            <label for="text-12">Text input:</label>
            <div>
              <input name="text-12" id="text-12" type="text" value="">
            </div>
          </div>
          <button class="ui-btn ui-btn-icon-notext ui-btn-split ui-icon-carat-d"></button>
        </li>
        <li>
          <div class="ui-field-contain em7">
            <label for="text-13">Text input clr:</label>
            <div>
              <input name="text-13" id="text-13" type="text" value="" data-clear-btn="true">
            </div>
          </div>
        </li>
        <li>
          <div class="ui-field-contain em7">
            <label for="search-8">Search:</label>
            <div>
              <input name="search-8" id="search-8" type="search" value="">
            </div>
          </div>
        </li>
        <li>
          <div class="ui-field-contain em7">
            <label for="textarea-12">Textarea:</label>
            <div>
              <textarea name="textarea-12" id="textarea-12" rows="8" cols="40"></textarea>
            </div>
          </div>
          <button class="ui-btn ui-btn-icon-notext ui-btn-split ui-icon-delete"></button>
        </li>
        <li>
          <div class="ui-field-contain em7">
            <label for="Switch">Textarea:</label>
            <div>
              <input name="flip-checkbox-1" id="flip-checkbox-1" type="checkbox" data-role="flipswitch">
            </div>
          </div>
        </li>
      </ul>
    </div>

    <div data-role="footer" data-position="fixed" data-fullscreen="false" data-tap-toggle="false">
      <div class="ui-toolbar">
        <div class="ui-left-panel">
          <a href="#" class="ui-btn">リセット</a>
        </div>
        <div class="ui-right-panel">
          <a href="#" class="ui-btn ui-btn-active">OK</a>
          <a href="#page1" class="ui-btn">キャンセル</a>
        </div>
      </div>
    </div>

  </div>
</body>
</html>

/Src/home.ts

/// <reference path="../scripts/typings/jquery/jquery.d.ts" />
/// <reference path="../scripts/typings/jquerymobile/jquerymobile.d.ts" />

namespace Home {
    "use strict";

    namespace Page1 {
        $(document).on("click", "#subwindowMenu > li > .ui-btn", function (event: Event) {

            let cmd = $(this).attr("cmd");
            switch (cmd) {
                case "subwin0":
                    SubWindow.show("#subwindow0");
                    break;

                case "subwin1":
                    SubWindow1.show();
                    break;

                case "subwin2":
                    SubWindow2.show();
                    break;

                case "subwin3":
                    SubWindow3.show();
                    break
            }
        });

        $(document).on("click", "#popupMenu > li > .ui-btn", function (event: Event) {

            let cmd = $(this).attr("cmd");
            switch (cmd) {
                case "popup0":
                    $("#popup0").popup("open", { positionTo: this });
                    break;
                case "popup0.1":
                    Popup.open("#popup0", { positionTo: this, restoreScrollPos: true });
                    break;

                case "popup1":
                    Popup.open("#popup1", {
                        positionTo: this
                        , arrow: true
                        , restoreScrollPos: true
                        , closeButton: true
                        , onClosed: function () {
                            console.log("Popup Closed");
                        }
                    });
                    break;
                case "popup2":
                    $("#popup2").popup("open", { positionTo: null });
                    break;

                case "popup2.1":
                    Popup.open("#popup2", {
                        positionTo: this
                        , restoreScrollPos: true
                        , focusSelector: "#text-121"
                    });
                    break;

                case "msgbox":
                    {
                        let msg = cm.MsgBox.show("メッセージ・メッセージ・メッセージ<br>宜しいですか?", "確認", true);
                        msg.onClosed = function (result: boolean) {
                            if (result === true) {
                                alert("OK");
                            }
                        };
                    }
                    break;

                case "msgballon":
                    cm.MsgBallon.show("メッセージ・メッセージ・メッセージ", this);
                    break;
            }
        });

        namespace SubWindow1 {

            export function show() {
                let w = $("#subwindow1");
                SubWindow.show(w);
                w.find("textarea").change();	// textareaサイズ正常化
            }

            $(document).on("click", "#sublist1 > li > .ui-btn", function (event: Event) {

                let cmd = $(this).attr("cmd");
                switch (cmd) {
                    case "popup3":
                        let dlg = $("#popup3");

                        Popup.open(dlg, {
                            positionTo: this
                            , positionFixed: true
                            , closeButton: true
                            , onHeightOverflow: function (overflow: boolean) {

                                if (overflow) {
                                    dlg.offset().top = 0;
                                    dlg.outerHeight($(window).height());
                                    dlg.find("ul.ui-listview").css({
                                        "overflow-y": "scroll"
                                        , "height": "100%"
                                    });
                                } else {
                                    dlg.find("ul.ui-listview").css({
                                        "overflow-y": "hidden"
                                        , "height": ""
                                    });
                                    dlg.css({
                                        "height": ""
                                        , "top": ""
                                    });
                                }
                            }
                        });
                        break;
                }
            });
        }

        namespace SubWindow2 {

            export function show() {
                let w = $("#subwindow2");
                SubWindow.show(w);
            }

            $(document).on("click", "#subwindow2_list > li > .ui-btn", function (event: Event) {
                SubWindow.close();
            });
        }

        namespace SubWindow3 {

            export function show() {
                let w = $("#subwindow3");
                SubWindow.show(w, { focusSelector: "#text-14" });
            }
        }

    }
}