頁面初始化事件(pagebeforecreate、pagecreate)
Jquery Mobile會自動基於page"內的增強的約定自動初始化一些外掛程式。例如:給一個input輸入框約定了type=range屬性會自動產生一個自訂滑動條。這些自動初始化的行為是受" page"外掛程式控制的,它在執行前後部署部署事件,允許你在初始化前後操作頁面,或甚至自己提供初始化行為,禁止自動初始化。註以下的頁面初始化事件在每個「page」只觸發一次,與每次頁面在顯示或隱藏的show/hide事件剛好相反。
pagecreate:頁面初始化時,初始化之後觸。
$('#aboutPage').live('pagebeforecreate',function(event){ alert('This page was just inserted into the dom!'); }); $('#aboutPage').live('pagecreate',function(event){ alert('This page was just enhanced by Jquery Mobile!'); });
頁面載入事件(pagebeforeload、pageload)
當外部的頁面載入到dom時,有兩個事件被觸發。第一個是 pagebeforeload,第二個是pageload ,或是pageloadfailed。
pagebeforeload
在載入請求發出之前觸發,綁定到這個事件的回呼函數可以可以對 該事件呼叫preventDefault(),來表示由他們來處理載入的請求。 這樣的做的話回呼函數必須對透過資料物件傳到回呼函數的物件呼叫resolve()或reject()。透過第二個參數傳到回呼函數的物件包含如下的屬性:
$( document ).bind( "pagebeforeload", function( event, data ){ //让jqm框架知道由我们来处理load事件. event.preventDefault(); //...加载文档然后插入到DOM中 //在这个回调中,或者通过其他的异步加载手段中, //调用resolve,转入到下面的参数中,加上一个 //包含有页面dom元素的jquery选择器。 data.deferred.resolve( data.absUrl, data.options, page ); });
pageload
在頁面已成功載入並插入DOM後觸發。綁定到這個事件的回呼函數會被當作一個資料物件作為第二個參數。這個物件包含如下的資訊: