2012-01-11 2 views
0

Мои мобильные приложения jQuery состоят из нескольких страниц.

Всякий раз, когда я перезагружаю страницу, независимо от того, какая страница в приложении, функция $(document).ready() выполнена. Я ожидаю, что он будет выполнен только для главной страницы приложения.

Что происходит? Я бы хотел, чтобы он работал только на главной странице.

ответ

1

Пожалуйста, ознакомьтесь с

Важно: Используйте pageInit(), а не $ (документ) .ready()

Первое, что вы узнаете в JQuery заключается в вызове кода внутри функции $ (document) .ready(), поэтому все будет выполнено, как только DOM загружен. Однако в jQuery Mobile Ajax используется для загрузки содержимого каждой страницы в DOM при навигации, а обработчик DOM ready выполняется только для первой страницы. Чтобы выполнять код всякий раз, когда загружается и создается новая страница , вы можете привязываться к событию pageinit. Это событие подробно объясняется в нижней части этой страницы.

Также для информации jQM страницы, пожалуйста, прочитайте

+0

Цитирование из текста выше: «DOM готов обработчик выполняется только для первой страницы», что я пытаюсь сказать, , то нажатие кнопки перезагрузки, независимо от того, где вы находитесь в приложении, выполняет эту функцию $ (document) .ready. Это нормально? – user1107888

+0

use pageInit() not $ (document) .ready() для jQM –

+0

Использование события pageinit приводит к еще одной неприятной проблеме. Мне нужно скачать json-файл, проанализировать и сохранить его, а затем использовать его. Я хочу его загрузить и сохранить в обработчике pageinit, а затем использовать его в обработчике страниц.Что на самом деле происходит, файл загружается в обработчике pageinit, но вместо сохранения файла через обработчик успеваемости создается окно между загрузкой и сохранением, а затем обработчик успеха называется. Я проверил его снова и снова, это поведение непротиворечиво. – user1107888

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