pageload
เรียกหลังจากหน้าเพจโหลดเสร็จเรียบร้อยและเพิ่มเข้าไปใน DOM Callbacks จะถูกผูกเหตุการณ์นี้ส่งผ่านข้อมูลของอ๊อฟเจ็คเป็นครั้งที่ 2 อ๊อฟเจ็คนี้ประกอบด้วยข้อมูลดังต่อไปนี้
pageloadfailed
เรียกใช้หากหน้าเพจนั้นมีการโหลดล้มเหลว framework จะแสดงข้อความของหน้าที่ล้มเหลวและเรียกฟังก์ชัน reject() ซึ่งมีความช้าอ๊อฟเจ็คภายในของ เหตุการณ์ข้อมูลอ๊อฟเจ็ค Callbacks สามารถป้องกันพฤติกรรมในลักษณะนี้จากการรันโดยการเรียกใช้ preventDefault() ในเหตุการณ์ข้อมูลอ๊อฟเจ็คที่ผ่านในครั้งที่ 2 ไปยังฟังก์ชัน callback มีคุณสมบัติดังต่อไปนี้
ตัวอย่าง
$( document ).bind( "pageloadfailed", function( event, data ){
// Let the framework know we're going to handle things.
event.preventDefault();
// ... attempt to load some other page ...
// at some point, either in this callback, or through
// some other async means, call resolve, passing in
// the following args, plus a jQuery collection object
// containing the DOM element for the page.
data.deferred.resolve( data.absUrl, data.options, page );
});
or rejected like this:
$( document ).bind( "pageloadfailed", function( event, data ){
// Let the framework know we're going to handle things.
event.preventDefault();
// ... attempt to load some other page ...
// at some point, if the load fails, either in this
// callback, or through some other async means, call
// reject like this:
data.deferred.reject( data.absUrl, data.options );
});
เหตุการณ์การเปลี่ยนหน้าเพจ(Page change events)
pagebeforechange
เหตุการณ์นี้เป็นเหตุการณ์ที่เรียกใช้ก่อนที่ทุกๆหน้าเพจจะโหลดหรือมีการเปลี่ยนแปลงข้อมูลอ๊อฟเจ็คมีคุณสมบัติดังนี้
pagechange
เหตุการณ์นี้เป็นการเรียกใช้ภายหลังจากมีการร้องขอการโหลดหน้าเพจไปที่ DOM และหน้าเพจทั้งหมดมีการเปลี่ยนแปลงไปเรียบร้อยแล้วคุณสมบัติของอ๊อฟเจ็คมีดังต่อไปนี้
pagechangefailed
เหตุการณ์นี้เป็นการเรียกใช้ในกรณีที่การร้องขอการโหลดหน้าเพจล้มเหลวมีคุณสมบัติของอ๊อฟเจ็คต่อไปนี้
เหตุการณ์การเปลี่ยนแปลงของหน้าเพจ(Page transition events)
เป็นการเรียกใช้ก่อนและหลังที่มีการเปลี่ยนแปลงสามารถที่จะรับการแจ้งเตือนเมื่อใดก็ตามที่หน้าจะแสดงหรือซ่อนเหตุการณ์ที่เกิดขึ้นเรียกดังนี้
pagebeforeshow
pagebeforehide
เป็นการเรียกใช้งานบนฟอร์มสามารถทำการเปลี่ยนแปลงไปจากนั้นได้อนิเมชันจะถูกดึงออกไปก่อนที่จะเปลี่ยนแปลง ข้อมูลอ๊อฟเจ็คคุณสมบัติดังต่อไปนี้
Note: ในเหตุการณ์นี้ไม่ควรที่จะส่งระหว่างการเปลี่ยนของหน้าเพจแรกที่มีแอพพริเตชันกำลังเริ้มอยู่จนกระ ทั่งไม่มีการย้อนกลับไปยังหน้าเพจนั้น
pageshow
เรียกใช้บน toPage หลังการเปลี่ยนแอนนิเมชันเสร็จเรียบร้อย ข้อมูลอ๊อฟเจ็คคุณสมบัติดังต่อไปนี้
pagehide
เรียกใช้งานบนฟอร์มหลังจากมีการเปลี่ยนแปลงแอนนิเมชันเรียบรอยแล้วข้อมูลอ๊อฟเจ็คคุณสมบัติดังต่อไปนี้
Note: เหตุการณ์นั้นจะไม่ถูกส่งระหว่างการเปลี่ยนของหน้าเพจแรกขณะที่แอพพริเคชันเริ่มทำงานไปจนถึง ไม่มีหน้าเพจไดใช้งานอยู่ผู้ใช้สามารถเข้าถึงคุณสมบัติฟังก์ชันprevPage หรือ nextPage โดยผ่านอากิวแมนต์ของการผูกเข้ากับฟังก์ชันcallback
$( '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);
});
เหตุการณ์การเตรียมหน้าเพจ(Page initialization events)
โดยพื้นฐานแล้ว jQuery Mobile มีปลั๊กอินการเริ่มต้นหน้าเพจเองอัตโนมัติบนข้อตกลงของการมาร์กอัพที่กำหนดไว้กับหน้าเพจตัวอย่างเช่น input ที่ประกอบด้วย type ของ range โดยจะสร้างการควบคุมการเลือก slider โดยอัตโนมัติ
pagebeforecreate
เรียกใช้งานในขณะที่หน้าเพจกำลังเริ่มก่อนที่อีกหลายๆปลั๊กอินจะเริ่มขึ้น
ตัวอย่าง
$( '#aboutPage' ).live( 'pagebeforecreate',function(event){
alert( 'This page was just inserted into the dom!' );
});
Note: สามารถจัดการมาร์กอัพของ jQuery Mobile ก่อนที่จะปล่อยให้ widgets จะเริ่มต้นโดยอัตโนมัติ
ตัวอย่างเหตุการณ์ที่ควรนำไปใช้
$( '#aboutPage' ).live( 'pagebeforecreate',function(event){
// manipulate this page before its widgets are auto-initialized
});
pagecreate
เรียกใช้งานเมื่อหน้าเพจมีการสร้างใน DOM(ผ่าน ajax หรืออื่นๆ)แต่ก่อนหน้านั้น widgets ทั้งหมดมีโอกาสที่จะเพิ่มการมาร์กอัพเพิ่มขึ้นเหตุการณ์นี้มีการนำไปใช้กันมากสำหรับผู้ใช้ที่ต้องการที่จะ สร้าง widgets ของตัวเองที่กำหนดเองเพื่อเพิ่มประสิทธิภาพการมาร์กอัพซึ่งมีความง่ายที่จะทำ jquery mobile widgets
ตัวอย่าง
$( '#aboutPage' ).live( 'pagecreate',function(event){
( ":jqmData(role='sweet-plugin')" ).sweetPlugin();
});
pageinit
เ รียกใช้บนหน้าเพจเริ่มต้นภายหลังจากที่หน้าเพจเริ่มต้นขึ้น
$( '#aboutPage' ).live( 'pageinit',function(event){
alert( 'This page was just enhanced by jQuery Mobile!' );
});
pageremove
เหตุการณ์นี้จะถูกเรียกก่อนที่ framework พยายามที่จะกำจัดหน้าเพจออกจาก DOM เหตุการณ์ callback สามารถเรียก preventDefault เมื่อเป็นเหตุการณ์ของอ๊อฟเจ็คเพื่อที่จะป้องกันไม่ให้หน้าเพจไม่ถูกล
รูปแบบของเหตุการณ์(Layout events)
updatelayout
เหตุการณ์นี้จะถูกเรียกโดยส่วนประกอบภายใน framework ที่เป็นแบบไดนามิก แสดง/ซ่อน ส่วนของเนื้อหาและเป็นการหมายถึงวิธีการทั่วไปที่จะแจ้งให้ส่วนประกอบ อื่น ๆที่ต้องการปรับปรุงขนาดหรือตำแหน่ง
ตัวอย่าง
$( '#foo' ).hide().trigger( 'updatelayout' );
เหตุการณ์ของแอนนิเมชัน(Animation Events)
jQuery Mobile เปิดให้ใช้ปลั๊กอินของการแอนนิเมชันฉบับสมบรูณ์ออกมาแล้ว ซึ่งสามารถนำไปใช้หลังจากการเพิ่มหรือการลบคลาสนั้นๆ เอาไปประยุกต์กับการเปลี่ยนแปลงใน CSS
ตัวอย่าง
$(document).bind("pagehide", function(event, ui) {
$(ui.nextPage).animationComplete(function() {
alert('Animation completed');
});
});