2012-08-13 3 views
2

Я использую jQuery Mobile для приложения PhoneGap. Когда я пытаюсь загрузить внутренние страницы, как это:Показывать загружаемое сообщение при загрузке внутренних страниц

$.mobile.changePage('#loginPage', { transition: "none"}); 

приложение выжидает FEWS моменты то изменения страницы на страницу входа в систему. Можно ли показывать загружаемое сообщение во время загрузки страницы? Я знаю, что changePage имеет параметр showLoadingMsg, но это работает только для внешних страниц.

ответ

0

Использование $.mobile.showPageLoadingMsg(); на pagebeforecreate или pagebeforeshow случае (в зависимости от случая), а затем $.mobile.hidePageLoadingMsg(); на pageshow событие. Что-то вроде этого:

$(document).on(
    'pageshow', 
    '#loginPage' 
    function() 
    { 
     $.mobile.hidePageLoadingMsg(); 
    } 
); 
+0

Это не работает, похоже, что функция changePage уничтожает любые загрузочные сообщения. Если я поставлю $ .mobile.showPageLoadingMsg(); непосредственно перед changePage или привязать это к pagebeforecreate и pagebeforeshow и удалить все hidePageLoadingMsg() со страницы, он все равно не показывает ... это сводит меня с ума. – Timm

+0

Я думаю, что часть проблемы состоит в том, что есть задержка примерно через полсекунды после того, как что-то нажата, и вызывается javascript, угадайте, что нет никакого способа обойти это ... – Timm

+1

Итак, вся проблема была в действительности в моем комментарии выше, загрузка страницы мгновенно. Просто обнаружили, что упомянутая выше задержка может быть удалена вместо привязки к событиям щелчка для кнопок, которые вы связываете с vclick. http://forum.jquery.com/topic/how-to-remove-the-300ms-delay-when-clicking-on-a-link-in-jquery-mobile – Timm

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