jQuery Mobile Page Events
Events for handling pages in jQuery Mobile are divided into four categories:
- Page Initialization - Before page creation, and when the page has been created
- Page Load/Unload - When an external page is loading, unloading or encounters a failure
- Page Transition - Before and after page transitions
- Page Change - When pages are changed to or from, or encounters a failure
For a complete reference of all the jQuery Mobile events, please go to our jQuery Mobile Events Reference.
jQuery Mobile Initialization Events
When a typical page in jQuery Mobile is initialized, it goes through two stages:
- Before page creation
- Page creation
Each stage has an event that can be used to insert or manipulate code before or when jQuery Mobile enhances the page.
Event | Description |
---|---|
pagebeforecreate | Triggered when the page is about to be initialized, and before jQuery Mobile has started enhancing the page |
pagecreate | Triggered when the page has been created, but before enhancement is complete |
The example below demonstrates when each event fires when a page is created in jQuery Mobile:
Example
$(document).on("pagebeforecreate",function(event){
alert("pagebeforecreate event fired!");
});
$(document).on("pagecreate",function(event){
alert("pagecreate event fired!");
});
Try it Yourself »jQuery Mobile Load Events
Page load events are for external pages.
Whenever an external page is loaded into the DOM, 2 events fire. The first is pagecontainerbeforeload, and the second will either be pagecontainerload (success) or pagecontainerloadfailed (fail).
These events are explained in the table below:
Event | Description |
---|---|
pagecontainerbeforeload | Triggered before any page load request is made |
pagecontainerload | Triggered after the page has been successfully loaded and inserted into the DOM |
pagecontainerloadfailed | Triggered if the page load request fails. By default, it will show the "Error Loading Page" message |
The example below demonstrates how the pagecontainerload and pagecontainerloadfailed events work:
Example
$(document).on("pagecontainerload",function(event,data){
alert("pageload
event fired!\nURL: " + data.url);
});
$(document).on("pagecontainerloadfailed",function(event,data){
alert("Sorry, requested page does not exist.");
});
Try it Yourself »jQuery Mobile Transition Events
We can also use events for when we transition from one page to the next.
Page transitions involve two pages: a "from" page and a "to" page - these transitions animate the change from the current active page (fromPage) to a new page (toPage).
Event | Description |
---|---|
pagebeforeshow | Triggered on the "to" page, before the transition animation starts |
pageshow | Triggered on the "to" page, after the transition animation completes |
pagebeforehide | Triggered on the "from" page, before the transition animation starts |
pagehide | Triggered on the "from" page, after the transition animation completes |
The example below demonstrates how the transition events work:
Example
$(document).on("pagebeforeshow","#pagetwo",function(){ // When entering
pagetwo
alert("pagetwo is about to be shown");
});
$(document).on("pageshow","#pagetwo",function(){
// When entering pagetwo
alert("pagetwo is now shown");
});
$(document).on("pagebeforehide","#pagetwo",function(){
// When leaving pagetwo
alert("pagetwo is about to be hidden");
});
$(document).on("pagehide","#pagetwo",function(){
// When leaving pagetwo
alert("pagetwo is now hidden");
});
Try it Yourself »