jQuery移動web開發(fā)中的頁面初始化與加載事件
頁面初始化事件(pagebeforecreate、pagecreate)
Jquery Mobile會自動基于page"內(nèi)的增強(qiáng)的約定自動初始化一些插件。例如:給一個(gè)input輸入框約定了type=range屬性會自動生成一個(gè)自定義滑動條。這些自動初始化的行為是受"page"插件控制的,它在執(zhí)行前后部署部署事件,允許你在初始化前后操作頁面,或者甚至自己提供初始化行為,禁止自動初始化。注以下的頁面初始化事件在每個(gè)“page”只被觸發(fā)一次,與每次頁面在顯示或者隱藏的show/hide事件剛剛相反。
pagebeforecreate:頁面初始化時(shí),初始化之前觸。
pagecreate:頁面初始化時(shí),初始化之后觸。
$('#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)
當(dāng)外部的頁面加載到dom中時(shí),有兩個(gè)事件被觸發(fā)。第一個(gè)是 pagebeforeload,第二個(gè)是pageload ,或者pageloadfailed。
pagebeforeload
在加載請求發(fā)出之前觸發(fā),綁定到這個(gè)事件的回調(diào)函數(shù)可以可以對 該事件調(diào)用preventDefault(),來表明由他們來處理加載的請求。 這樣的做的話回調(diào)函數(shù)必須對通過數(shù)據(jù)對象傳到回調(diào)函數(shù)的對象調(diào)用resolve()或者reject()。通過第二個(gè)參數(shù)傳到回調(diào)函數(shù)的對象包含如下的屬性:
- url (字符串):通過回調(diào)傳到$.mobile.loadPage()的絕對或者相對地址
- absUrl (字符串):url的絕對地址版本。
- dataUrl (字符串):絕對地址的當(dāng)識別頁面或者更新瀏覽器地址的時(shí)候使用的絕對地址經(jīng)過過濾的版本
- deferred (對象):針對此事件調(diào)用preventDefault()的回調(diào)函數(shù)必須針對此事件調(diào)用
- resolve()或者reject()方法,使得changePage()的請求恢復(fù)。
例如:
$( document ).bind( "pagebeforeload", function( event, data ){ //讓jqm框架知道由我們來處理load事件. event.preventDefault(); //...加載文檔然后插入到DOM中 //在這個(gè)回調(diào)中,或者通過其他的異步加載手段中, //調(diào)用resolve,轉(zhuǎn)入到下面的參數(shù)中,加上一個(gè) //包含有頁面dom元素的jquery選擇器。 data.deferred.resolve( data.absUrl, data.options, page ); });
pageload
在頁面已成功加載并插入到DOM后觸發(fā)。綁定到這個(gè)事件的回調(diào)函數(shù)會被作為一個(gè)數(shù)據(jù)對象作為第二個(gè)參數(shù)。這個(gè)對象包含如下的信息:
- url(字符串):網(wǎng)址址。
- absUrl(字符串):url的絕對地址版本。
相關(guān)文章
基于jquery實(shí)現(xiàn)的tab選項(xiàng)卡功能示例【附源碼下載】
這篇文章主要介紹了基于jquery實(shí)現(xiàn)的tab選項(xiàng)卡功能,涉及jQuery事件響應(yīng)及頁面元素屬性動態(tài)操作相關(guān)實(shí)現(xiàn)技巧,并附帶源碼下載,需要的朋友可以參考下2019-06-06jQuery實(shí)現(xiàn)驗(yàn)證年齡簡單思路
本文給大家分享的是jQuery實(shí)現(xiàn)驗(yàn)證年齡簡單思路,讓用戶填出生年月,然后根據(jù)當(dāng)前時(shí)間計(jì)算是否小于網(wǎng)站要求的年齡,小于就提示,有需要的小伙伴可以拿去直接使用。2016-02-02如何書寫高質(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實(shí)現(xiàn)異步加載ECharts地圖數(shù)據(jù)(附源碼下載)
ECharts地圖主要用于地理區(qū)域數(shù)據(jù)的可視化,展示不同區(qū)域的數(shù)據(jù)分布信息,通過本文給大家介紹如何使用PHP+jQuery+MySQL實(shí)現(xiàn)異步加載ECharts地圖數(shù)據(jù),需要的朋友參考下吧2016-02-02HTML+jQuery實(shí)現(xiàn)簡單的登錄頁面
這篇文章主要介紹了用三種方法實(shí)現(xiàn)簡單的登錄頁面的制作:純HTML、HTML+jQuery(form data)格式、HTML+jQuery(json)格式。感興趣的同學(xué)可以跟隨小編一起學(xué)習(xí)一下2021-12-12