jquery - 如何使用 jqm.page.params.js 插件?

标签 jquery jquery-plugins jquery-mobile

我正在使用 jquery mobile,并且尝试在同一页面内传递变量。

<a href="page2.html?var1=foo&var2=bar">link1</a>
<a href="page2.html?var1=something&var2=bbq">link2</a>

点击链接后,页面将被放入 DOM 中。我知道我必须重新加载页面才能应用新变量,但我还没有成功地做到这一点:

$.mobile.changePage("page2.html", {reloadPage : true,});

当页面加载时,我使用以下内容:

$(document).delegate('#page2','pageinit', function(){           

   $.mobile.changePage("page2.html", {reloadPage : true});          

});

上面的代码只会让页面永远循环,这显然不是我想要的。我尝试将changePage 移出pageinit 的一侧,但需要将其放在pageinit 内的原因是为了后退按钮能够工作。然后我想也许我可以从url中获取变量,所以我尝试使用jqm.page.params.js进行以下操作:

$(document).delegate('#page2','pageinit', function(){           

   if ($.mobile.pageData && $.mobile.pageData.proj_id){
      console.log("Parameter var1=" + $.mobile.pageData.var1);//does not print at all.
   }

   console.log("Parameter obj =" + $.mobile.pageData); // prints NULL           

});

我在文档中找到了一个插件链接,该插件允许您使用名为 jqm.page.params.js 的 url 中的参数。但没有关于如何使用此插件的示例。

这里有人知道如何使用这个插件吗?或者,当您在链接到同一页面但具有不同变量的同一页面上时,是否有更好的传递变量的方法?

最佳答案

我认为 pageinit 太早了,所以参数没有被解析。为您的听众尝试 pagebeforeshow

See the answer to this question .

关于jquery - 如何使用 jqm.page.params.js 插件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9952701/

相关文章:

javascript - 单击后退按钮时加载微调器和显示消息

javascript - 使用 javascript 将 href 中的所有特定术语更改为另一个特定术语

javascript - 固定在浏览器底部的元素,直到它到达 div 的底部

css - 加载多个具有不同背景的 HTML 页面

jquery-mobile - JQuery Mobile 单选按钮 - 一页上的多个组

javascript - 禁用提交,但首先提交表单

jquery - 可以使用 jquery-ui 调整文本大小吗?

javascript - 在 MVC Web 应用程序中包含 Jquery 时间选择器的步骤

jquery - 使用 Infinitescroll jQuery 插件操作时丢失变量

html - 如何更改下拉列表中选择列表项的字体