hide address bar during page changes by catching ajax clicks early through binding to touchend, and make pages fit screen height during transitions

This commit is contained in:
scottjehl 2011-06-15 20:15:28 -04:00
parent d636421f95
commit ed7aae1d1c

View file

@ -385,20 +385,26 @@
//function for transitioning between two existing pages
function transitionPages( toPage, fromPage, transition, reverse ) {
$.mobile.silentScroll();
//get current scroll distance
var currScroll = $window.scrollTop();
var currScroll = $window.scrollTop(),
toScroll = toPage.data( "lastScroll" ) || 0;
$.mobile.silentScroll();
if( fromPage ) {
//set as data for returning to that spot
fromPage
.height( screen.height )
.jqmData( "lastScroll", currScroll )
.jqmData( "lastClicked", $activeClickedLink );
//trigger before show/hide events
fromPage.data( "page" )._trigger( "beforehide", null, { nextPage: toPage } );
}
toPage.data( "page" )._trigger( "beforeshow", null, { prevPage: fromPage || $( "" ) } );
toPage
.height( toScroll )
.data( "page" )._trigger( "beforeshow", null, { prevPage: fromPage || $( "" ) } );
//clear page loader
$.mobile.hidePageLoadingMsg();
@ -416,10 +422,10 @@
//trigger show/hide events
if( fromPage ) {
fromPage.data( "page" )._trigger( "hide", null, { nextPage: toPage } );
fromPage.width("").height("").data( "page" )._trigger( "hide", null, { nextPage: toPage } );
}
//trigger pageshow, define prevPage as either fromPage or empty jQuery obj
toPage.data( "page" )._trigger( "show", null, { prevPage: fromPage || $( "" ) } );
toPage.width("").height("").data( "page" )._trigger( "show", null, { prevPage: fromPage || $( "" ) } );
});
@ -952,9 +958,8 @@
}
});
//click routing - direct to HTTP or Ajax, accordingly
$( document ).bind( "click", function( event ) {
$( document ).bind( "vclick click", function( event ) {
var link = findClosestLink( event.target );
if ( !link ) {
return;