【问题标题】:JQueryMobile: Dialog styled as page when opened from LI in menuJQueryMobile:从菜单中的 LI 打开时样式为页面的对话框
【发布时间】:2012-03-02 06:14:39
【问题描述】:

我正在尝试打开一个对话框(data-rel="dialog"),在我创建的下拉菜单中形成一个链接。然而; JQM 一直在全页面视图中打开它(data-role="page")。

更奇怪的是,当从同一页面上的按钮或列表视图打开时,相同的对话框会作为正确的对话框打开(data-role="dialog")。

如果我首先通过按钮启动对话框;随后尝试从菜单项启动对话框也将其显示为对话框。但是,如果我首先通过菜单项启动对话框;它被呈现为一个页面。

菜单项中的链接(将对话框作为页面打开)

<ul data-role="listview" data-inset="true">
    <li data-icon="false">
        <a href="#showDialog" data-rel="dialog">Show Dialog</a>
    </li>
</ul>

链接按钮(以对话框形式打开对话框)

<a href="#showDialog" data-role="button" data-rel="dialog">Show Dialog</a>

列表视图中的链接(将对话框作为对话框打开)

<ul data-role="listview" data-inset="true">
    <li><a href="#showDialog" data-rel="dialog">Show Dialog</a></li>
</ul>

这是一个jsFiddle 与此演示。

2 个问题:

1) 为什么会有这种行为差异?

2) 如何强制对话框作为菜单项中的对话框打开?

【问题讨论】:

    标签: jquery jquery-mobile dialog


    【解决方案1】:

    想出了我查询的第二部分的答案:

    使用 data-role="dialog"(而不是“page”)标记 div 会强制它始终呈现为对话框。

    <div data-role="dialog" id="showDialog">
    

    仍然想从某人那里了解为什么会出现这种行为差异。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多