首頁 > web前端 > js教程 > 主體

jQuery行動web開發中的頁面初始化與載入事件_jquery

WBOY
發布: 2016-05-16 15:27:44
原創
1061 人瀏覽過

頁面初始化事件(pagebeforecreate、pagecreate)
Jquery Mobile會自動基於page"內的增強的約定自動初始化一些外掛程式。例如:給一個input輸入框約定了type=range屬性會自動產生一個自訂滑動條。這些自動初始化的行為是受" page"外掛程式控制的,它在執行前後部署部署事件,允許你在初始化前後操作頁面,或甚至自己提供初始化行為,禁止自動初始化。註以下的頁面初始化事件在每個「page」只觸發一次,與每次頁面在顯示或隱藏的show/hide事件剛好相反。

pagebeforecreate:頁面初始化時,初始化之前觸。

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!');
});

登入後複製
注意:透過綁定pagebeforecreate然後return false,你禁止頁面外掛程式自己的操作。而且,務必在 Jquery Mobile 執行前綁定這些函數,以使 他們在初始化頁面載入時被呼叫。在 mobileinit 事件的處理函數中使用它們既可。

頁面載入事件(pagebeforeload、pageload)
當外部的頁面載入到dom時,有兩個事件被觸發。第一個是 pagebeforeload,第二個是pageload ,或是pageloadfailed。

pagebeforeload

在載入請求發出之前觸發,綁定到這個事件的回呼函數可以可以對 該事件呼叫preventDefault(),來表示由他們來處理載入的請求。 這樣的做的話回呼函數必須對透過資料物件傳到回呼函數的物件呼叫resolve()或reject()。透過第二個參數傳到回呼函數的物件包含如下的屬性:

    url (字串):透過回呼傳到$.mobile.loadPage()的絕對或相對位址
  • absUrl (字串):url的絕對位址版本。
  • dataUrl (字串):絕對地址的當識別頁面或更新瀏覽器地址的時候使用的絕對地址經過過濾的版本
  • deferred (物件):針對此事件呼叫preventDefault()的回呼函數必須針對此事件呼叫
  • resolve()或reject()方法,使得changePage()的請求恢復。
例如:

$( document ).bind( "pagebeforeload", function( event, data ){
 //让jqm框架知道由我们来处理load事件.
 event.preventDefault();
 //...加载文档然后插入到DOM中
 //在这个回调中,或者通过其他的异步加载手段中,
 //调用resolve,转入到下面的参数中,加上一个
 //包含有页面dom元素的jquery选择器。
 data.deferred.resolve( data.absUrl, data.options, page );
});
登入後複製

pageload

在頁面已成功載入並插入DOM後觸發。綁定到這個事件的回呼函數會被當作一個資料物件作為第二個參數。這個物件包含如下的資訊:

    url(字串):網址址。
  • absUrl(字串):url的絕對位址版本。
相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板