Событие jQuery Mobile после отображения страницы

#jquery #jquery-mobile

#jquery #jquery-mobile

Вопрос:

Я новичок в jquery Mobile (хотя я знаком с jquery), и я не могу найти событие, которое запускается после отображения страницы. Я использую jStorage для хранения некоторых данных, и я хочу при загрузке проверить, есть ли какие-либо данные, и если есть, показать что-то другое на странице (например, добавить элементы в список).

Но $ (document).ready не работает, если я меняю страницу (что означает изменение хэша).

Редактировать: Я уже пробовал событие pageshow

 $('div').live('pageshow',function(event, ui){
  alert('TEST');
});
  

Но это происходит до того, как содержимое помещается в HTML.

Комментарии:

1. pageshow должно сработать ПОСЛЕ завершения перехода. Как вы генерируете страницу?

2. может быть, добавить какой-нибудь код, чтобы мы могли видеть, что происходит?

3. Черт, я действительно нашел ответ, это было потому, что я использовал div с идентификатором «list-content», и идентификатор был фактически удвоен (потому что jquery mobile сохранял старую страницу), и когда я редактировал контент, он редактировал первый (скрытый)

Ответ №1:

Из документации jQuery Mobile (с которой всегда полезно начать):

pagebeforeshow

Срабатывает на отображаемой странице до начала ее перехода.

pagebeforehide

Срабатывает на скрытой странице до начала ее перехода.

pageshow

Срабатывает на отображаемой странице после завершения ее перехода.

страница скрыта

Срабатывает на скрываемой странице после завершения ее перехода.

Комментарии:

1. Я уже пробовал это. Проверьте мою правку, но это происходит до того, как будет помещен HTML страницы.

2. Здесь та же проблема, необходимо выполнить некоторые пересчеты при загрузке страницы. Pageshow запускается после перехода перед загрузкой.