我有我的JQM应用程序,在我的页面中,我从外部JSON加载数据,用于在Google地图中显示标记。
我使用这个页面结构:
// GOOGLE MAPS RICERCA
$(document).on('pageshow','#map3', function(){
//show map in my page
});
当我点击标记时,我会显示一个包含详细信息的新页面。如果我单击“返回”按钮,我将返回#map3页面,然后重新加载数据和地图。
我希望只有在地图页面中按下apposite按钮才会刷新地图(而不是每次都这样)。
你能帮助我吗?
答案 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中各种页面和非页面事件的很好的解释: