我正在用jqm+phonegap开发一个应用程序。假设我有两个页面,在第二个页面上,我使用选择菜单设置了一些参数(光、恢复等),.On-- page1 --我有一个滑块,当我移动滑块时,它将调用函数timeCalculation()来计算时间并在page1上显示(在移动滑块时,结果的实时更改)。现在,我想要的是,假设我第一次在page2上设置所有参数,然后返回到page1并执行计算(工作正常)。现在,如果我更改了page2上的一些参数,我希望自动刷新滑块并显示新的结果(我仍然在page2上,所以当我回到page1时,我会看到新的结果)。问题是我不能这样做,只有当我点击page1上的滑块时,它才会更新这个值。因此,我不知道如何解决这个问题,每次在page2上更改参数时,我都试图调用page2()。现在,当我按下page2上的后退按钮到goto page1时,我想要触发这样的页面
$("#firstpage").live("pagebeforeshow", function (event, ui) {
alert("test");
if(i!=null && e!=null && f!=null && o!=null && r!=null){
timeCalculation() //calling this function to calculate time.
}});
function timeCalculation(){
// alert("inside");
string=light;
str=string.split(" ").join("");
str1=selCom.split(" ").join("");
str2=shade.split(" ").join("");
// alert("test2");
$.getJSON("appData.json",function(results){
i=results[str][dis];
r=results.Restoration[res];
o=results.Expertise[op];
f=results.Increment[inc];
lightColor=results[str].color;
compColor=results[str1].color;
e=results[str1][str2];
});
finalResult=1000*(e/i)/(f*o*r);
document.getElementById("result").value=finalResult.toFixed(2);
}现在,当我单击page2上的back按钮时,会发出警报(“test”);语句被执行,但它不会转到page1。我的应用程序挂起。请帮帮忙。
发布于 2012-05-16 13:46:34
简单的回答:文档中的第一页没有页面。
在我的“主页”页面上,我也遇到了一些问题,直到我意识到这个事件不会引发文档中的第一页。查看jQM docs http://jquerymobile.com/demos/1.1.0/docs/api/events.html:这个页面前瞻事件是由pagechange方法触发的。该方法不适用于正在显示的第一页。
有一个解决办法,就在pagehide事件下面描述:
此外,为了在初始页面加载期间调用这些处理程序,必须在
移动执行之前绑定它们。这可以在mobileinit处理程序中完成,如全局配置页面.
所描述的那样。
https://stackoverflow.com/questions/8335750
复制相似问题