2014-01-09 3 views
0

У меня есть следующие сомнения, с этой JQuery мобильного сценарием ...Проблемы JQuery Mobile Инициализационных

$(document).on("pageinit",function(){ 
    alert("pageinit" + $("#unica").html()); 
}); 

$(document).on("pagebeforecreate",function(){ 
    alert("pagebeforecreate" + $("#unica").html()); 
});      

$(document).on("pagecreate",function(){ 
    alert("pagecreate" + $("#unica").html()); 
}); 

Я делаю некоторые испытания на этой странице jQm Page и я вижу, что тревога показывает мне то же самое в случае событие pagecreate и pageinit ... Поэтому я не могу понять, что можно сделать в каждом из них. Я думал, что они собираются показать что-то другое ... Надеемся получить помощь ... Приветствия

+0

возможно дубликат [Настройка сценария JQuery Mobile] (http://stackoverflow.com/questions/20457195/setup-up-the-jquery-mobile-script) – Omar

+0

Я понимаю, что в другом потоке говорится, что мой код инициализации должен быть в файле pageinit not document ready (так как это выполняется только один раз, а другой каждый раз, когда страница загружается в dom), но мой вопрос действительно другой ... Я не понимаю, почему я вижу ту же разметку в этих двух событиях! ... – user3118724

+0

Re объявление о событиях 'pagebeforecreate' и' pagecreate', однако не объясняется, что при первом событии создается виджет '.page()', а в последнем случае создаются другие _widgets_. Оба события не показывают каких-либо существенных различий в разметке html, потому что они используются для настройки jQM _widgets_. 'pageinit' покажет вам разную разметку html, так как на данный момент все виджеты инициализируются. – Omar

ответ

0

Посмотрите анализ, который я сделал ...

    |  1  |  2 
pagebeforecreate | 494/1125 | 257/257 
pagecreate  | 1125/1125 | 257/485 
pageinit   | 1125/1125 | 257/485 
pagebeforeshow | 1125  | 485 

Эта таблица может быть прочитан с учетом этого кода ...

$(document).on("pageinit",function(){ 
    alert("pageinit" + $("#unica").html().length); 
}); 

$(document).on("pagebeforecreate",function(){ 
    alert("pagebeforecreate" + $("#unica").html().length); 
});      

$(document).on("pagecreate",function(){ 
    alert("pagecreate" + $("#unica").html().length); 
}); 

$(document).on("pagebeforeshow",function(){ 
    alert("pagecreate" + $("#unica").html().length); 
}); 

В каждом случае я пытаюсь проверить, что длина HTML-разметки. На первой странице у меня есть listview, а другая - простая страница. На каждой странице есть кнопка для перехода на каждую страницу. Первое значение в случае первой страницы с учетом pagebeforecreate составляет 494; но он окажется равным 1125, когда вы переходите со страницы 2 на страницу 1. Это похоже на то, что структура хранит в dom расширенную разметку.

Другое дело ... Рассмотрите это ... 1. «pagebeforecreate»: перед выполнением jqm «улучшайте» работу (автоматическая инициализация виджета и т. Д.), Es decir, поместив в разметку css classess. Я могу манипулировать атрибуты с помощью JS или изменить их, и т.д ..

  1. «pagecreate»: Не все виджеты имели возможность улучшить содержащуюся разметку. Это нужно использовать только для создания собственных виджетов!.

  2. "pageinit": Подобно dom .ready. После автоматического инициализации.

Как вы думаете, или что ориентир вы можете сделать? ...

Thankx

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