我正在使用Jquery Mobile 1.4,我想创建一个按钮,将用户发送到另一个页面,并在登陆后在这个新页面上打开面板:
我正在尝试这个:
$(document).on('pagecreate','#faq-page', function(){
$('#faqcontactus').on("tap", function() {
$( "body" ).pagecontainer( "change", "#welcome-page", { transition: "fade" });
$( "body" ).pagecontainer( "getActivePage" ).find('#mypanel').panel("open");
});
});
进入页面,打开面板,但立即关闭。
你能帮忙吗?
由于
答案 0 :(得分:1)
在打开面板之前,您应该等到页面完全加载,即使用pagecontainershow
。
$(document).on("pagecontainershow", function () {
var activePage = $.mobile.pageContainer.pagecontainer("getActivePage");
if(activePage[0].id == "welcome-page") {
$(".ui-panel", activePage).panel("open");
}
});
答案 1 :(得分:1)
启动页面更改过程后,您无法执行此操作。该进程是异步的,并且窗格打开不会等待此函数结束。你需要做的是等待下一页变得可见,然后你应该触发面板。
这样的事情:
$(document).on('pagecontainershow', function (e, ui) {
var activePage = $(':mobile-pagecontainer').pagecontainer('getActivePage');
var activePageId = activePage .attr('id')
if(activePageId === 'welcome-page') {
activePage.find('#mypanel').panel("open");
}
});