繁体   English   中英

当页面第二次出现在屏幕上时,如何重新加载?

[英]How to reload a page when it is on screen for the second time?

我有个问题。 我有一个带列表视图首页的小jQuery应用程序,该应用程序直接指向滑块页面。 您可以在此处使用滑块插入一个值。 然后将其传递到下一页。 在该页面上显示该数字。 现在,如果我单击左上角的“后退”按钮,我想重新加载主页,以便滑块返回到其原始位置,并且还没有显示数字。

我当时在想这样的事情,但效果不佳:

$(document).on('pageinit', '#homepage',  function(){
        if (number !== 0) {
           location.reload();
        } 
});

这里是我的项目: http://jsfiddle.net/9ytwt/1/

编辑:

我找到了答案!!

$('#homepage').bind('pageshow', function() {
            location.reload();
});

可以尝试以下操作,而不是重新加载(可以在某些浏览器/ webview中保留值),您可以尝试: document.location = document.location ,基本上可以将页面转发给自己,就像单击链接一样。

编辑:首先,这里有一些主要的设计缺陷。 重新加载页面只是为了重置一些输入不是正确的选择。 其次,你应该不绑定到pageinit ,而不是绑定到pagebeforeshow ,这是触发每次显示页面之前的时间。

在代码中,您应该将页面ID更改为“ pageWithSlider”或类似的名称,然后可以使用:

$( document ).on( "pagebeforeshow", "#pageWithSlider",  function() {
    $( "#slider" ).val( 20 );
} );

每次显示页面时,都会重置滑块。

如果您想了解不同的事件,可以绑定到: http : //jquerymobile.com/test/docs/api/events.html

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM