gpt4 book ai didi

jquery - jqm+phonegap 中的 pagebeforeshow 事件有问题吗?

转载 作者:行者123 更新时间:2023-12-01 05:03:02 26 4
gpt4 key购买 nike

我正在使用 jqm+phonegap 开发一个应用程序。假设我有两个页面,在第二页上我设置了一些参数(使用选择菜单的灯光、恢复等)。在第1页上我有一个 slider ,当我移动 slider 时,它将调用函数 timeCalculation() 来计算时间并显示在第1页(当我移动 slider 时实时更改结果)。现在,我想要的是假设我第一次在第 2 页上设置所有参数,然后返回第 1 页并执行计算(工作正常)。现在,如果我更改第 2 页上的某些参数,我希望 slider 自动刷新并显示新结果(我仍在第 2 页上,因此当我返回第 1 页时,我应该看到新结果)。问题是我无法这样做,只有当我单击第 1 页上的 slider 时,它才会更新该值。所以,我不知道如何解决这个问题,每次我更改第2页上的某些参数时,我都试图调用 timeCalculation() 。 现在,当我按第 2 页上的后退按钮转到第 1 页时,我想像这样触发 pagebeforeshow

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


}

现在,当我点击第2页上的后退按钮时,alert("test");语句已执行,但未转到 page1。我的应用程序挂起。请帮忙。

最佳答案

简单答案:文档中的第一页没有 pagebeforeshow。

我的“主页”页面上的 pagebeforeshow 也遇到了问题,直到我意识到该事件不会在文档的第一页上触发。查看 jQM 文档 http://jquerymobile.com/demos/1.1.0/docs/api/events.html :pagebeforeshow 事件由pagechange 方法触发。该方法不适用于显示的第一页。

有一个解决方法,在页面隐藏事件下方进行了描述:

Also, for these handlers to be invoked during the initial page load, you must bind them before jQuery Mobile executes. This can be done in the mobileinit handler, as described on the global config page.

关于jquery - jqm+phonegap 中的 pagebeforeshow 事件有问题吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8335750/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com