2012-03-22 35 views
4

我在我的应用程序中使用jQuery Mobile Split视图。它工作正常。 我需要一些页面的分割视图和我设置的普通页面data-role="page"。 当我尝试加载比拆分视图页面其他正常的网页,我收到以下错误TypeError:表达式结果'toPage.data(“page”)'[undefined]不是一个对象 - 在jquery mobile中

"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 || $("") }); 

回答

1

我面临同样的问题。这不适用于所有页面,只有其中几个页面。 这不是一个解决方案,而是临时解决方法。
只是试图抓住这个声明:P你的应用程序将正常工作。它不会影响你的应用程序的工作。
告诉我你是否能够找到这个错误背后的真正问题。

+0

谢谢。我尝试了try catch工作正常。我知道这不是一个最好的解决方案。我会在找到合适的解决方案后告诉你。 – vinothini 2012-03-22 13:06:46

+0

你有没有找到真正的解决方案?我有同样的问题... – freshbm 2013-05-13 10:26:36

+0

这个问题仍然与最新的jqm版本? – ghostCoder 2013-05-13 10:27:56

0

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函数。 它会完美的工作。

相关问题