可以宣佈建立菜單的功能,包括它放在網站的每一頁上(如果你還沒有一個全球性的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所以你的ID是唯一的前更改克隆的ID。
調用頁面上的'.trigger('create')'來初始化它的所有子元素。你也可以直接選擇ul,如果它沒有被初始化,則調用'.listview()',如果它已經被初始化,則調用'.listview('refresh')'。 – 2012-03-29 18:22:05
@KevinB我實際上一直在嘗試所有這些都沒有成功。我會再試一次,並更新我所嘗試過的。 – xdumaine 2012-03-29 19:03:35