TypeError: Результат выражения 'toPage.data( "page")' [undefined] не является объектом - в jquery mobile

Я использую представление jQuery Mobile Split в своем приложении. Работает нормально. Мне нужен разделенный вид только для некоторых страниц и для обычных страниц, которые я установил data-role="page", Когда я пытаюсь загрузить обычные страницы, кроме страниц с разделенным видом, я получаю следующую ошибку

"TypeError: Result of expression 'toPage.data( "page" )' [undefined] is not an object."

В jquery.mobile-1.0.js line number 2458

toPage.data( "page" )._trigger( "beforeshow", null, { prevPage: fromPage || $( "" ) } );

2 ответа

Я столкнулся с той же проблемой. это не происходит для всех страниц, только несколько из них. это не решение, а временный обходной путь.
просто попытайтесь уловить это утверждение:P ваше приложение будет работать нормально. это не повлияет на работу вашего приложения.
скажите мне, если вы в состоянии найти реальную проблему за эту ошибку.

Параметр changePage должен быть объектом DOM. Поэтому, если вы хотите использовать changePage вручную, вы должны предоставить ему объект DOM. Я предлагаю вам использовать их, чтобы получить объект DOM страницы

var allPage = $('div.ui-page');//get the DOM of the all pages on the html page
console.log(allPage);

var mainPage = allPage.prev("div#Mainpage");//find to get the previous page
console.log(mainPage);

//input for changePage must be DOM object --> so how we get DOM object?, see some previous lines we'll see the solution
$.mobile.changePage(mainPage, {transition: "slide", reverse: true}, true, true);

Как видите, в первой строке я получаю все объекты DOM со своей страницы. в следующей строке я ищу в предыдущих объектах DOM, чтобы найти нужную мне страницу. и, наконец, вы можете передать его в функцию changePage. Это будет отлично работать.

Другие вопросы по тегам