diff --git a/js/jquery.mobile.forms.select.js b/js/jquery.mobile.forms.select.js index 7f1c57e3..87084bd3 100644 --- a/js/jquery.mobile.forms.select.js +++ b/js/jquery.mobile.forms.select.js @@ -422,7 +422,14 @@ $.widget( "mobile.selectmenu", $.mobile.widget, { }); } - self.menuPage.one('pageshow',focusMenuItem); + self.menuPage.one('pageshow', function() { + // silentScroll() is called whenever a page is shown to restore + // any previous scroll position the page may have had. We need to + // wait for the "silentscroll" event before setting focus to avoid + // the browser's "feature" which offsets rendering to make sure + // whatever has focus is in view. + $(window).one("silentscroll", function(){ focusMenuItem(); }); + }); self.menuType = "page"; self.menuPageContent.append( self.list );