скрытая страница jquerymobile pageinit()?

#html #jquery-mobile

#HTML #jquery-мобильный

Вопрос:

 var $page = el.parents('div[data-role="page"]:visible');
  

При вызове pageinit() для меня отображается значение null. Кто-нибудь знает подходящий обработчик для доступа к высоте элементов из JQM? (Поскольку мне нужно запустить height() при отображении элемента)

Спасибо.

Ответ №1:

Если вам нужна ссылка на отображаемую в данный момент страницу в jQuery Mobile, для этого есть $.mobile.activePage свойство. В нем хранится объект jQuery текущей страницы.

Итак, чтобы получить высоту текущего <div data-role="page"> элемента, вы должны сделать:

 var the_height = $.mobile.activePage.height();
  

Или вы могли бы получить высоту <div data-role="content"> раздела:

 var the_height = $.mobile.activePage.children('[data-role="content"]').height();
  

Вот ссылка на страницу в документации об этом (однако информации об этом свойстве почти нет, вы все равно можете просмотреть страницу, чтобы увидеть, что встроено в jQuery Mobile):http://jquerymobile.com/demos/1.0rc2/docs/api/methods.html

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

1. спасибо за ваш ответ, меня это немного раздражало, лол. Похоже, в документации JQM есть несколько областей, которых немного не хватает!! Им нужна лучшая демонстрация для одной страницы, я думаю, немного более сложная

Ответ №2:

Эй, я только что узнал, что реальная проблема здесь в том, что элементы, похоже, не имеют height () до тех пор, пока не будет вызван обработчик pageshow (который запускается после pageinit)

итак, используйте этот обработчик для запуска любых событий, основанных на захвате существующих высот и т. Д