jQuery移動web開發(fā)中的頁面初始化與加載事件
頁面初始化事件(pagebeforecreate、pagecreate)
Jquery Mobile會自動基于page"內(nèi)的增強的約定自動初始化一些插件。例如:給一個input輸入框約定了type=range屬性會自動生成一個自定義滑動條。這些自動初始化的行為是受"page"插件控制的,它在執(zhí)行前后部署部署事件,允許你在初始化前后操作頁面,或者甚至自己提供初始化行為,禁止自動初始化。注以下的頁面初始化事件在每個“page”只被觸發(fā)一次,與每次頁面在顯示或者隱藏的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!');
});
頁面加載事件(pagebeforeload、pageload)
當外部的頁面加載到dom中時,有兩個事件被觸發(fā)。第一個是 pagebeforeload,第二個是pageload ,或者pageloadfailed。
pagebeforeload
在加載請求發(fā)出之前觸發(fā),綁定到這個事件的回調(diào)函數(shù)可以可以對 該事件調(diào)用preventDefault(),來表明由他們來處理加載的請求。 這樣的做的話回調(diào)函數(shù)必須對通過數(shù)據(jù)對象傳到回調(diào)函數(shù)的對象調(diào)用resolve()或者reject()。通過第二個參數(shù)傳到回調(diào)函數(shù)的對象包含如下的屬性:
- url (字符串):通過回調(diào)傳到$.mobile.loadPage()的絕對或者相對地址
- absUrl (字符串):url的絕對地址版本。
- dataUrl (字符串):絕對地址的當識別頁面或者更新瀏覽器地址的時候使用的絕對地址經(jīng)過過濾的版本
- deferred (對象):針對此事件調(diào)用preventDefault()的回調(diào)函數(shù)必須針對此事件調(diào)用
- resolve()或者reject()方法,使得changePage()的請求恢復。
例如:
$( document ).bind( "pagebeforeload", function( event, data ){
//讓jqm框架知道由我們來處理load事件.
event.preventDefault();
//...加載文檔然后插入到DOM中
//在這個回調(diào)中,或者通過其他的異步加載手段中,
//調(diào)用resolve,轉(zhuǎn)入到下面的參數(shù)中,加上一個
//包含有頁面dom元素的jquery選擇器。
data.deferred.resolve( data.absUrl, data.options, page );
});
pageload
在頁面已成功加載并插入到DOM后觸發(fā)。綁定到這個事件的回調(diào)函數(shù)會被作為一個數(shù)據(jù)對象作為第二個參數(shù)。這個對象包含如下的信息:
- url(字符串):網(wǎng)址址。
- absUrl(字符串):url的絕對地址版本。
相關文章
基于jquery實現(xiàn)的tab選項卡功能示例【附源碼下載】
這篇文章主要介紹了基于jquery實現(xiàn)的tab選項卡功能,涉及jQuery事件響應及頁面元素屬性動態(tài)操作相關實現(xiàn)技巧,并附帶源碼下載,需要的朋友可以參考下2019-06-06
如何書寫高質(zhì)量jQuery代碼(使用jquery性能問題)
眾所周知,jQuery現(xiàn)在已經(jīng)非常流行,百度新首頁中也已經(jīng)開始使用jQuery,今天總結(jié)下怎么書寫更好的jQuery代碼使jQuery代碼更好、更快的執(zhí)行,希望本篇jQuery教程一改大家以前不合理的做法2014-06-06
在jQuery中使用$而避免跟其它庫產(chǎn)生沖突的方法
這篇文章主要介紹了在jQuery中使用$而避免跟其它庫產(chǎn)生沖突的方法,總共羅列了三種,需要的朋友可以參考下2015-08-08
如何使用PHP+jQuery+MySQL實現(xiàn)異步加載ECharts地圖數(shù)據(jù)(附源碼下載)
ECharts地圖主要用于地理區(qū)域數(shù)據(jù)的可視化,展示不同區(qū)域的數(shù)據(jù)分布信息,通過本文給大家介紹如何使用PHP+jQuery+MySQL實現(xiàn)異步加載ECharts地圖數(shù)據(jù),需要的朋友參考下吧2016-02-02

