2

我正在用 jquery mobile 构建一个 webapp。我想做一个基本的弹出窗口,就像这里显示的那样。

但它不起作用,它还在屏幕上显示文本。
这是我的 HTML:

<div data-role="popup" id="basic" data-transition="pop">
    <p>I am a default popup</p>
</div>

我这样称呼它。

if (zalen.length > 0) {   
    $('#basic').popup();     
} else {
    $('#basic').popup();    
}               

有人可以帮忙吗?

4

6 回答 6

4

您没有正确遵循文档:

1)打开弹出窗口的链接应具有属性data-rel="popup", 和href="#somePopup"

2)弹出内容应具有属性data-role="popup"以及您在href属性中为链接指定的 ID。(id="somePopup"对于包含弹出内容的元素)

3)然后你可以像你建议的那样以编程方式调用它,$("#somePopup").popup();

编辑:除了已修复的这个问题之外,@SySammy 似乎是正确的;弹出窗口小部件仍在开发中,不在当前发布版本中。

于 2012-05-29T13:34:14.127 回答
3

如果你有这样的事情:

<div data-role='page' id='page0'>


</div>
<div data-role='page' id='pag1'>


</div>
 <div data-role='popup' id='pop1'>

</div>

它不起作用,弹出窗口必须在调用它的页面内。

<div data-role='page' id='page0'>

   <div data-role='footer'></div>

   <div data-role='popup' id='pop1'>
   </div>
</div>
<div data-role='page' id='pag1'>


</div>

我不知道为什么会这样,但我遇到了这种问题,这就是问题所在。

于 2012-10-19T13:04:50.117 回答
0

弹窗仍在开发中,您需要等到下一个版本或使用此插件

于 2012-05-29T13:55:58.113 回答
0

您是否确保按顺序包含 jquery 和 jquery-mobile 的 javascript。

<head>
  <script src="js/jquery-1.9.0.min.js"></script>
  <script src="jquery.mobile/jquery.mobile-1.3.0-beta.1.min.js"></script>
</head>

<body>

    <div  data-role="popup" id="basic" data-transition="pop">
                  <p>I am a default popup</p>
      </div>
     <div onclick="javascript:onSuccess();" >Open Popup</div>

<script type="text/javascript">
 function onSuccess(){
      $('#basic').popup('open'); 
 }    
</script>

</body>
于 2013-02-14T12:07:13.427 回答
-1

试试这个

<div  data-rel="popup" id="basic" data-transition="pop">
          <p>I am a default popup</p>
</div>
于 2012-05-29T14:03:32.257 回答
-1

在提出这个问题时,文档中没有说明弹出窗口的 HTML 代码必须在<div data-role="page"> ... </div>. 见:https ://github.com/jquery/jquery-mobile/issues/4891

现在,如果您不想打扰这些概念并专注于您的弹出内容,请使用我的插件https://stackoverflow.com/a/12092465/976827 - 我在另一个 jQuery mobile popup() 相关问题。检查演示和代码,它很容易使用。

演示和代码 https://github.com/serbanghita/jQM-dynamic-popup

于 2012-08-23T19:51:51.620 回答