8

在我的 JQuery Mobile 站点中,我添加了一个工具提示对话框,以便在页面加载时打开,它会在 5 秒后消失。我的代码类似于以下,

  <div data-role="popup" id="popupInfo">
     <p>This is a completely basic popup, no options set.<p>
  </div>

  <script type="text/javascript">
 $(document).live( 'pagechange',function(event){
     $('#popupInfo').popup("open")
      setTimeout(function() {
      $('#popupInfo').popup("close");
      }, 5000);
  });
   </script>

此更新在除iPhone 5 iOS 6之外的所有设备上运行良好。因为当我尝试在iPhone 5 iOS 6设备中使用上述脚本加载我的 JQuery 移动页面时,它会在弹出窗口关闭时将我重定向到上一页。我不确定我在这里错过了什么,但对我来说,jQuery Mobile popup("close")函数似乎不支持iPhone 5 iOS 6

此外,当工具提示加载以下附加到 URL 的哈希标记文本时,我们如何避免这种情况#&ui-state=dialog

谁能让我知道我们该如何解决这个问题?

我什至也尝试过以下代码;

 $(document).on('pagechange',function(event){
        $('#popupInfo').popup("open").delay(2000).popup("close");

    });

但这根本不起作用

4

4 回答 4

14

知道了。添加data-history="false"popupBasic弹出 div。

<!-- Button / works without it -->
<a href="#popupBasic" data-rel="popup">Open Popup</a>

<!-- Popup #popupBasic -->
<div data-role="popup" id="popupBasic" data-history="false">
<p>This is a completely basic popup.<p>
</div>

JS:

<script type="text/javascript">

 $(document).live( 'pagechange',function(){
 $('#popupBasic').popup("open")
  setTimeout(function() {
  $('#popupBasic').popup("close");
  }, 5000);
 });

</script>

JSfiddle:弹出窗口

于 2013-02-22T09:34:08.417 回答
1

另外,..jquery mobile 使用 ID = "yourpopupid-popup" 的 div 围绕弹出窗口,因此您可以简单地隐藏该 div。

例如:<div id="basic" data-role="popup" >我弹出</div>,那么你可以通过: $('#basic-popup').hide();

于 2013-07-26T06:15:54.147 回答
1

使用两个函数 hide() 或者您可以在单击按钮时使用 close() 函数

于 2013-07-26T06:52:28.440 回答
0

我在使用弹出工具栏菜单(jQuery Mobile 1.2)时遇到了同样的问题。例如:

<a href="#popupBasic" data-rel="popup">Open Popup</a>

<!-- Popup #popupBasic -->
<div data-role="popup" id="popupBasic" data-history="false">
<ul data-role="listview" data-inset="true">
<li><a href='item1.html'>Item1</a></li>
</ul>
</div>

以上代码不适用于 iPhone 5(但适用于 android、iPhone4 等)。如果我按以下方式更改它,它就可以工作。

<a data-ajax="false" href='item1.html'>Item1</a>
于 2013-12-23T01:33:43.513 回答