2013-03-12 3 views
0

Я пытаюсь использовать jQuery мобильные панели для меню навигации в своем приложении, это меню появляется, когда вы нажимаете кнопку меню на страницах, из документа, я понимаю, что я должен добавить это меню панели на каждую страницу.Добавление панели JQuery Mobile во время выполнения

Поскольку мои страницы добавляются также во время выполнения, мне нужно каким-то образом, чтобы придать панели меню на страницу, когда она создана, я использую следующий код, который не работает:

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'); 
} 

кого-то есть идея, как мне добавить панель меню на страницу, которая добавляется динамически?

ответ

0

Посмотрите на мой другой ответ относительно этого решения: https://stackoverflow.com/a/15223926/1848600

Это, как вы можете добавить его динамически:

$(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");  
    });  
}); 

Живой пример: http://jsfiddle.net/Gajotres/pZzrk/

+0

Привет, Ur подход хорошо, когда работает страницы уже присутствуют в dom, но в моих случаях как страницы, так и сама панель добавляются динамически, я сделал скрипку, показывающую здесь ситуацию - http://jsfiddle.net/sa1nt/BLhsQ/3/ в скрипке, как только вы нажмете на ссылку добавления страницы, чтобы перейти на новую страницу, панель перестает работать. – Fr0g

Смежные вопросы