Вы можете объявить функцию, которая создает меню, включить ее на каждой странице вашего сайта (если у вас еще нет глобального включаемого файла JS), а затем вызывать ее для создания меню при необходимости:
function build_menu($container) {
var out = '<ul data-role="listview">...</ul>';
$container.append(out).trigger('create');
}
$(document).delegate('#my-page-id', 'pageinit', function () {
build_menu($(this).children('.ui-page'));
});
В противном случае вы можете проверить, есть ли у виджета класс .ui-listview
, который применяется во время инициализации.
//cache the clone
var $clone = $('#my-element').clone();
//check if the clone has the initialized class
if ($clone.hasClass('ui-listview')) {
//since this listview has already been initialized, refresh it
$('#my-container').append($clone).children().last().listview('refresh');
} else {
//initialize this listview clone
$('#my-container').append($clone).children().last().listview();
}
Вы хотите убедиться, что ваш виджет listview
не имеетID или вы захотите изменить идентификатор клона перед добавлением его в DOM, чтобы ваши идентификаторы были уникальными.