From bb439167a1cc1ef06d76e88f64b2b1c7c9de53ef Mon Sep 17 00:00:00 2001 From: Minkyu Kang Date: Thu, 7 Feb 2013 13:37:19 +0900 Subject: [PATCH] scrollview: fix the scroll position at keydown event When IME is on and input box is hidden, scroll the view to visible position. (N_SE-24515) Change-Id: I408a1af70f2aa09c4e249eab7dd112e34abcc74d --- src/widgets/common/js/jquery.mobile.tizen.scrollview.js | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/widgets/common/js/jquery.mobile.tizen.scrollview.js b/src/widgets/common/js/jquery.mobile.tizen.scrollview.js index f9f0cf5..30931d2 100644 --- a/src/widgets/common/js/jquery.mobile.tizen.scrollview.js +++ b/src/widgets/common/js/jquery.mobile.tizen.scrollview.js @@ -503,6 +503,7 @@ scrollTo: function ( x, y, duration ) { this._stopMScroll(); + this._didDrag = false; if ( !duration || this.options.scrollMethod === "translate" ) { this._setScrollPosition( x, y, duration ); @@ -1012,6 +1013,7 @@ $v.bind( "keydown", function ( e ) { var elem, elem_top, + scroll_top = $( window ).scrollTop() - window.screenTop, screen_h; if ( e.keyCode == 9 ) { @@ -1024,16 +1026,16 @@ return; } - elem_top = elem.offset().top; + elem_top = elem.offset().top - scroll_top; screen_h = $c.offset().top + $c.height() - elem.height(); if ( self._softkeyboard ) { screen_h -= self._softkeyboardHeight; } - if ( ( elem_top < 0 ) || ( elem_top > screen_h ) ) { - self.scrollTo( 0, self._sy - elem_top + - elem.height() + $c.offset().top, 0); + if ( ( elem_top < $c.offset().top ) || ( elem_top > screen_h ) ) { + self.scrollTo( 0, self._sy - + ( elem_top - $c.offset().top - elem.height() ) ); } return; @@ -1043,6 +1045,7 @@ var input, elem, elem_top, + scroll_top = $( window ).scrollTop() - window.screenTop, screen_h; if ( e.keyCode != 9 ) { @@ -1064,8 +1067,7 @@ elem = $( input[i + 1] ); } - elem_top = elem.offset().top + window.screenTop * - ( $( window ).width() / window.screen.availWidth ); + elem_top = elem.offset().top - scroll_top; screen_h = $c.offset().top + $c.height() - elem.height(); if ( self._softkeyboard ) { -- 2.7.4