Функция JQuery Mobile .page() вызывает бесконечный цикл?

Я динамически создаю список с данными из ответа AJAX. Он успешно создает список и заполняет его, но когда я вызываю для него функцию JQM .page(), он, по-видимому, переходит в бесконечный цикл, в котором список добавляется навсегда.

Это ошибка в JQM или я что-то не так делаю?

pageScript(function($context){
    $context.bind("pagecreate", function(event, ui){
        createMenu(); //function that deletes existing ul#menu and dynamically creates new one. 
        $('ul#menu').page(); //here's where it causes a problem
        $('#menu a').bind('click', function(){
            $.mobile.changePage($(this).attr("href"), {pageContainer: $("#primary-content"), transition: "fade", changeHash: false, reloadPage: true});
            return false;
        });
    });
});

pageScript — это функция, которая позволяет мне запускать сценарии на уровне страницы, когда они загружаются JQM. Он определен в базовом шаблоне или index.html:

function pageScript(func) {
            var $context = $("div:jqmData(role='page'):last");
            func($context);
        };

person sw00    schedule 08.07.2011    source источник
comment
.page() обновляет страницу с разметкой jQM.   -  person Phill Pafford    schedule 08.07.2011
comment
похоже, что вы не можете выборочно использовать .page() для отдельных элементов. он запускается на уровне страницы и впоследствии запускает событие pagecreate.   -  person sw00    schedule 12.07.2011


Ответы (1)


Вместо использования .page() используйте .trigger( "create" ); Обновление группы jQuery Mobile: неделя 18 июля http://jquerymobile.com/blog/

person Joe    schedule 27.07.2011