在我的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 弹出(“关闭”)功能不支持 iPhone 5 iOS 6 。< / p>
此外,当工具提示加载跟随哈希标记文本后附加到网址时,我们如何才能避免此#&ui-state=dialog
有谁能告诉我们如何解决这个问题?
我甚至尝试过以下代码;
$(document).on('pagechange',function(event){
$('#popupInfo').popup("open").delay(2000).popup("close");
});
但这根本不起作用
答案 0 :(得分:14)
知道了。将data-history="false"
添加到popupBasic
弹出广告。
<!-- 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:Popup
答案 1 :(得分:1)
另外也可以..jquery mobile使用ID =“yourpopupid-popup”的div包围弹出窗口 所以你可以简单地隐藏那个div。
例如: &LT; div id =“basic”data-role =“popup”&gt;我弹出&lt; / div&gt; ,然后你可以通过以下方式关闭它: 的 $( '#基本-弹出')隐藏(); 强>
答案 2 :(得分:1)
使用两个函数hide()或单击按钮
时可以使用close()函数答案 3 :(得分: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>