2012-06-28 2 views
0

Мы хотели бы использовать jquery mobile для всех аспектов нашего сайта, но полностью отключите переходы страниц, так как нам нужно самостоятельно управлять навигацией. До сих пор мы добавили следующие к чему не привели:Использование jQuery mobile, полностью отключить навигацию

$(document).on("mobileinit", function() { 
       $.mobile.ajaxLinksEnabled = false; 
       $.mobile.ajaxFormsEnabled = false; 
      }); 

Наша главная проблема, все значения атрибутов «HREF» заменяются хэш-тегом (только один #) и теряют наши оригинальные HREF значения, что приводит к тому, что наша навигационная система явно не работает.

Как я могу запретить jQuery mobile заменять мои атрибуты href полностью? Благодарю.

+1

http://jquerymobile.com/test/docs/pages/page-navmodel.html – TheZ

+0

Я попытался с помощью отн = "внешний", $ .mobile.ajaxEnabled = ложь, и т.д. Он по-прежнему заменяет мой href на #. Я даже попытался использовать target = "_ blank". –

+0

Возможно, потому, что вы выполняете настройки внутри обработчика инициализации? Почему бы не запустить их немедленно? Вам нужно изменить флаги перед запуском jQuery, но после его загрузки. Как указано в связанном документе. – TheZ

ответ

2
<script src="jquery-1.7.1.js"></script> 
<script> 
$(document).on("mobileinit", function() { 
    $.mobile.ajaxEnabled = false; 
}); 
</script> 
<script src="jquery-mobile-1.1.0.js"></script> 

Я не знаю, где вы получили ajaxLinksEnabled и ajaxFormsEnabled варианты, но они не перечислены на странице документации «Настройка по умолчанию»: http://jquerymobile.com/demos/1.1.0/docs/api/globalconfig.html. Попробуйте использовать вышеуказанный вариант, ajaxEnabled.

+0

Спасибо, но все еще проблема. Вот скриншоты моего обновленного сценария, а также то, что я вижу в эмуляторе (и моем телефоне). Код: http://i.imgur.com/33LxW.jpg, эмулятор: http://i.imgur.com/KV1KF.jpg. Выделенная ссылка «Учетные записи» должна указывать на относительный URL-адрес, но по-прежнему имеет # после запуска. EDIT: изменено на привязку, но «on» по-прежнему делает то же самое. –

1

Спасибо! Оказалось, что мне нужно установить для параметра linkBindingEnabled значение false. Вот мой сценарий:

<script type="text/javascript"> 
      $(document).on("mobileinit", function() { 
       // Reference: http://jquerymobile.com/demos/1.1.0/docs/api/globalconfig.html 
       $.extend($.mobile, { 
        linkBindingEnabled: false, 
        ajaxEnabled: false 
       }); 
      }); 
     </script> 
Смежные вопросы