页面显示/隐藏事件(pagebeforeshow、pagebeforehide、pageshow、pagehide)

在jQuery Mobile里,无论一个page在什么时候处于显示或者隐藏状态,这两个事件都会在这个page触发.事件的触发依赖于该page是否正在显示或者隐藏,所以,当一个page过渡发生,会有4个事件被触发:每个page触发2个:

pagebeforeshow:转场之前,页面被显示时触发。

pagebeforehide:转场之前,页面被隐藏时触发。

pageshow:转场之后,页面被显示时触发。

pagehide:转场之后,页面被隐藏时触发。

请注意这4个事件都引用了“上一页”,或“下一页”,这取决于哪一页被显示或者隐藏,以及“上一页”或者“下一页”是否存在。(第一个page显示时并没有"上一页",但是同样会引用一个空的jQuery对象),你可以通过将第二个参数作为一个绑定的回调函数访问这一引用

$('div').live('pageshow',function(event, ui){
 alert('This page was just hidden: '+ ui.prevPage);
});
$('div').live('pagehide',function(event, ui){
 alert('This page was just shown: '+ ui.nextPage);
});

而且,务必在 Jquery Mobile 执行前绑定这些函数,以使 他们在初始化页面加载时被调用。在 mobileinit 事件的处理函数中使用它们既可。