Я столкнулся со сценарием, в котором мне нужно было зафиксировать событие касания элемента и отобразить загруженную страницу (тот же HTML-файл) с подробной информацией о выбранном элементе. Однако решение, которое я нашел, зависит от нескольких вещей:
- Ваша схема .js должна содержаться как минимум в одном «пространстве имен» или свойстве вне глобального объекта, чтобы предотвратить перезапись чего-либо важного для глобального объекта или запись во внешний код.
- Ваши данные уже должны присутствовать в объекте .js и / или быть доступны для других целей.
Прикрепление события касания к элементу, вызывающему переход страницы (или даже к функции, вызывающей проблемный переход на страницу), позволяет создать функцию следующим образом:
function PageTransitionHandle(oEvent)
{
// Set your stored data to a global object
oYourNamespace.DataObject = oDataObject;
// not necissary if already linked to other page but useful when attaching to
// an image or other element
$.mobile.changePage("#otherPageId");
}
и в событии pagehow для следующей страницы:
function PageInit()
{
var oPageData = oYourNamespace.DataObject;
// Handle using data from here (i.e calling webmethod using parameters
// or setting data according to object)
}
Потенциально это должно работать с внешними страницами и внутренними страницами, так как используются методы загрузки ajax, но я не проверял. Это полезно для передачи параметров или даже целых объектов данных для определения других полей или для предоставления пользователям информации о них, что угодно.
Еще один маршрут, на который стоит обратить внимание: Локальное хранилище , но я пока лично не особо разбирался в этом