我希望在我的网页的一个弹出窗口中实现一个教程。为了使它在视觉上看起来像多个弹出窗口,它必须出现,消失并改变内容。从概念上讲是
("#thePopup").popup("close").html(myContent).popup("open")
但它不起作用,因为.popup("close")
通常在.popup("open")
之后执行。我想出了一个解决方法工作代码,如下所示,但它没有弹出history
功能。有没有办法使它工作,并具有history
功能?为了理解,为什么history=false
对于以下代码起作用至关重要?
HTML:
<div id="ppp" data-role="popup">
<a href="#" id="btn" class="ui-btn">Click me</a>
</div>
使用Javascript:
$("#pppInfo").click( function() {
$("#ppp")
.on( "popupafterclose", function( event, ui ) {
$("#ppp")
.off( "popupafterclose" )
.popup( "open" );})
.html("Other content")
.popup( "option", "arrow", true ) // Do some formatting
.popup( "close" );
});
// Uncomment to get a working workaround.
//$("#ppp").popup( "option", "history", false);
当history=true
时,在使用firebug的firefox中,我看到的不是单个事件,而是多个事件。第一个触发侦听器,但后来再触发它。有时2,有时连续3次打电话。 为什么?在大多数情况下,晚期事件关闭打开弹出窗口,如果浏览器滞后弹出窗口可以看到一个milisec。很少和随机(在刷新之后它可能再次“正常”)一些非常奇怪的事情发生,就像所有页面被弹出一样。
Opening a popup window from another popup
jQuery mobile popup is not closing
How can I open a second jquery-mobile popup from the first popup
Is it possible to open popup in popup(parent) in jquery mobile?