Вы можете проверить наличие кода, который вы добавляете, прежде чем добавлять его.Таким образом, при последующих посещениях страницы данные не будут добавляться:
$('#page1').live('pageshow', function ()
{
// alert("!");
if ($(this).find('p.appended_code').length === 0) {
var section1 = "<p class='appended_code'>some code for page 1...</p>";
myClone1 = $(section1);
myClone1.appendTo("#placeholder1").trigger('create');
}
});
Обратите внимание, что я добавил класс 'appended_code' к тегу абзаца, который вы добавляете, и это селектор, который я использовал для проверкина наличие добавленного кода.
- Обновление -
Вы также можете немного очистить код, если используете соглашения об именах на основе чисел:
var pageData = new Array();
pageData[1] = "<p class='appended_class'>some code for page 1...</p>";
pageData[2] = "<p class='appended_class'>some code for page 2...</p>";
$('div[id^="page"]').live('pagebeforeshow', function () {
if ($(this).find('p.appended_class').length === 0) {
var page_num = $(this).attr('id').replace('page', '');
$("#placeholder" + page_num).append(pageData[page_num]).trigger('create');
}
});
Обратите внимание, что селектор div[id^="page"]
ищет div с идентификатором, который начинается с "page"
Вот jsfiddle для ya: http://jsfiddle.net/S3wE6/1/
Если вы хотите, чтобы данныеПри добавлении при начальной загрузке я бы порекомендовал создать строку кода, в которой данные добавляются в функцию, и вызвать ее $(document).ready();