/ / jQuery Mobile 1.4 Pop-ups aninhados - jquery, jquery-mobile

jQuery Mobile 1.4 Pop-ups aninhados - jquery, jquery-mobile

Usando o JQM 1.4, não consigo mais abrir um novo popup a partir de outro popup.

<a href="#popupBasic" data-rel="popup"
class="ui-btn ui-corner-all ui-shadow ui-btn-inline"
data-transition="pop">Basic Popup</a>

<div data-role="popup" id="popupBasic">
<p>This is a completely basic popup, no options set.</p>
<a href="#popupBasicAnother" data-rel="popup" class="ui-btn ui-corner-all ui-shadow ui-btn-inline" data-transition="pop">Another Popup</a>
</div>

<div data-role="popup" id="popupBasicAnother">
<p>Another Popup</p>
</div>

Isso estava funcionando bem na versão 1.3. Alguma ideia de como posso consertar isso?

Respostas:

1 para resposta № 1

Isso vem de uma mudança na forma como os links clicaramdentro de um widget pop-up são manipulados. No jQuery Mobile 1.3, o pop-up atualmente ativo foi fechado à força para que o novo pudesse ser aberto. Este não é mais o caso no jQuery Mobile 1.4.

Para restaurar o comportamento anterior, você pode corrigir $.mobile.popup.handleLink() em um mobileinit manipulador:

$(document).on("mobileinit", function() {
var originalHandleLink = $.mobile.popup.handleLink;
$.mobile.popup.handleLink = function(link) {
var activePopup = $.mobile.popup.active,
path = $.mobile.path;
if (activePopup) {
var popup = $(path.hashToSelector(
path.parseUrl(link.attr("href")).hash)).first();
if (popup.length > 0 && popup.data("mobile-popup")) {
activePopup._close(true);
}
}
originalHandleLink.apply(this, arguments);
};
});