jQuery Mobile - 避免在按钮上重新加载页面

时间:2013-07-29 14:25:34

标签: google-maps jquery-mobile cordova

我有我的JQM应用程序,在我的页面中,我从外部JSON加载数据,用于在Google地图中显示标记。

我使用这个页面结构:

// GOOGLE MAPS RICERCA 
$(document).on('pageshow','#map3', function(){
//show map in my page
});

当我点击标记时,我会显示一个包含详细信息的新页面。如果我单击“返回”按钮,我将返回#map3页面,然后重新加载数据和地图。

我希望只有在地图页面中按下apposite按钮才会刷新地图(而不是每次都这样)。

你能帮助我吗?

2 个答案:

答案 0 :(得分:1)

通常,不。无法停止重新加载页面。如果用户想要重新加载页面,它将由客户端重新加载并请求服务器重新加载。

您可以发送javascript事件,询问用户是否要重新加载页面。

相反,您可以向用户询问有关重新加载页面的信息并继续在页面上显示:

<script type="text/javascript">
    window.onbeforeunload = function() {
        return "Do you want to leave a page?";
    }
</script>

答案 1 :(得分:1)

使用pageinit事件而不是pageshow怎么样?我希望我理解正确,你想在创建和导航页面时加载它,但是当你回到同一页面时你不想加载它。 “后退”按钮应该是浏览器的后退按钮或jQuery移动后退按钮(<a data-rel="back">Back</a>) 如果这是你想要的,我会试试这个:

$(document).on('pageinit','#map3', function(){
    //show map in my page
});

这里有一个关于jQuery Mobile中各种页面和非页面事件的很好的解释:

jQuery Mobile: document ready vs page events