我在查询移动设备中有一个多页面模板。如何通过单击超链接或按钮刷新当前页面?我正在使用JQM版本1.4.5
我尝试使用how to refresh(reload) page when click button in Jquery mobile中建议的以下代码,但是,它没有按预期工作:
// Refresh the store main page - experimental
$(document).on('click', '#aStoreReload', function (event) {
$.mobile.changePage(window.location.href, {
allowSamePageTransition: true,
transition: 'none',
showLoadMsg: false,
reload: true // tried reloadPage: true also
});
});
它将返回带有URL的主页面。我的意思是本地服务器中的http://localhost:56235/main.html#storeMainPage
。但是,JsBin显示空白页面而jsfiddle无效。单击商店链接以获取其具有刷新按钮的页面。
如何以正确的方式刷新页面(视图)?
我在点击事件中尝试使用以下脚本:
$.mobile.changePage($("#storeMainPage"), { transition: 'slidedown' });
$(document).pagecontainer("load", "#storeMainPage", { reload: true });
第一个像什么都不做,第二行给出错误Uncaught Error: cannot call methods on pagecontainer prior to initialization; attempted to call method 'load'
这是正常的,因为我们在初始化之前调用pagecontainer。
答案 0 :(得分:1)
使用pagecontainer小部件的更改方法(不加载):
$(document).on("pagecreate","#storeMainPage", function(){
$(document).on('click', '#aStoreReload', function (event) {
$( ":mobile-pagecontainer" ).pagecontainer("change", "#storeMainPage", { reload : true, allowSamePageTransition : true, transition : "none" });
});
});
这将导致pageshow事件重新触发。
更新了 FIDDLE
答案 1 :(得分:0)
如何简单:
location.reload();
无论如何,$.mobile.changePage
已被弃用:
注意:jQuery.mobile.changePage自jQuery Mobile 1.4.0起不推荐使用,将在1.5.0中删除。改为使用pagecontainer小部件的change()方法。
答案 2 :(得分:0)
根据@ezanker的答案,最后我可以点击按钮重新加载页面。我必须在页面名称前加上哈希值才能重新加载页面并重新调用<Image Grid.Row="0" Grid.Column="0" Height="178" Source="/Assets/User.png"/>
事件中的所有ajax函数。
我使用的代码如下
pagebforeshow
请注意代码中的更改。一个文件名前缀,第二个// Refresh the store main page - experimental
//$(document).on("pagecreate", "#storeMainPage", function () {
$(document).on('click', '#aStoreReload', function (event) {
$(":mobile-pagecontainer").pagecontainer("change", "main.html#storeMainPage", {
reload: false,
allowSamePageTransition: true,
transition: "none"
});
$('#storeMainDesc').text("Latest Store Updates"); // reset the text.
});
//});
属性。如果我使用属性reload: false
,则前一页将按原样加载url;即reload: true
。不知道出了什么问题。