From 01b9924f0b9f4c243a2520934224299cb2a551b0 Mon Sep 17 00:00:00 2001 From: scottjehl Date: Mon, 11 Oct 2010 14:40:58 -0400 Subject: [PATCH] behavior for auto-focusing title or first focusable element can now be disabled by returning pageshow or pagehide events false. --- js/jquery.mobile.js | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/js/jquery.mobile.js b/js/jquery.mobile.js index 498d69f9..862c2e56 100644 --- a/js/jquery.mobile.js +++ b/js/jquery.mobile.js @@ -156,7 +156,6 @@ // transition between pages - based on transitions from jQtouch function changePage( from, to, transition, back ) { - window.scrollTo(0,0); jQuery( document.activeElement ).blur(); //trigger before show/hide events @@ -164,11 +163,12 @@ to.trigger("beforepageshow", {prevPage: from}); function loadComplete(){ - //trigger show/hide events - from.trigger("pagehide", {nextPage: to}); - to.trigger("pageshow", {prevPage: from}); - reFocus(to); pageLoading( true ); + //trigger show/hide events, allow preventing focus change through return false + if( from.trigger("pagehide", {nextPage: to}) !== false && to.trigger("pageshow", {prevPage: from}) !== false ){ + window.scrollTo(0,0); + reFocus( to ); + } } if(transition){ @@ -292,10 +292,11 @@ } else { startPage.trigger("beforepageshow", {prevPage: $('')}); startPage.addClass( activePageClass ); - //FIXME: when there's no prevPage, is passing an empty jQuery obj proper style? - startPage.trigger("pageshow", {prevPage: $('')}); - reFocus(startPage); pageLoading( true ); + + if( startPage.trigger("pageshow", {prevPage: $('')}) !== false ){ + reFocus(startPage); + } } } });