在运行时添加Jquery移动面板

在运行时添加Jquery移动面板,jquery,jquery-mobile,jquery-plugins,Jquery,Jquery Mobile,Jquery Plugins,我正在尝试在我的应用程序中使用jquery移动面板作为导航菜单,当您单击页面上的菜单按钮时,会显示此菜单。从文档中,我知道我应该将此菜单面板添加到每个页面 由于我的页面也是在运行时添加的,因此我需要在创建页面时以某种方式将菜单面板插入到页面中,我使用的代码如下,但不起作用: var $menuElement = $("#menu"); if ($activePage.find($menuElement).length <= 0) { console.log("Adding menu

我正在尝试在我的应用程序中使用jquery移动面板作为导航菜单,当您单击页面上的菜单按钮时,会显示此菜单。从文档中,我知道我应该将此菜单面板添加到每个页面

由于我的页面也是在运行时添加的,因此我需要在创建页面时以某种方式将菜单面板插入到页面中,我使用的代码如下,但不起作用:

var $menuElement = $("#menu");
if ($activePage.find($menuElement).length <= 0) {
    console.log("Adding menu");
    $menuElement.show().css({height:$(".fb-menu").find("li").size() * 5 + "px"});
    $menuElement.prependTo($activePage);
    $activePage.trigger('create');
    $activePage.trigger('update');
}
var$menuElement=$(“#菜单”);

如果($activePage.find($menuElement).length查看我关于此解决方案的其他答案:

以下是动态添加的方式:

$(document).on('pagebeforeshow', '[data-role="page"]', function(){                
    $('<div>').attr({'id':'mypanel','data-role':'panel'}).appendTo($(this));
    $('<a>').attr({'id':'test-btn','data-role':'button'}).html('Click me').appendTo('mypanel');
    $.mobile.activePage.find('#mypanel').panel();
    $(document).on('click', '#open-panel', function(){   
         $.mobile.activePage.find('#mypanel').panel("open");       
    });    
});
$(document).on('pagebeforeshow','[data role=“page”]',function(){
$('').attr({'id':'mypanel','data-role':'panel'}).appendTo($(this));

$(“

您好,当页面已经存在于dom中时,您的方法可以很好地工作,但是在我的例子中,页面和面板本身都是动态添加的,我制作了一个小提琴来显示这种情况-在小提琴中,一旦您单击添加页面链接转到新页面,面板就会停止工作。