From 7fe97caa1ee1d0e4eb27139a9cb86aac0087b3a0 Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Fri, 14 Aug 2009 12:53:44 +0200 Subject: fix scrolling on keyboard select in LinkWizard Ignore-this: 831a3252b5cb7c3f8658c377f60c0a95 darcs-hash:20090814105344-7ad00-6643571c3363ceb25d818246cf1425e3db6c8216.gz --- lib/scripts/linkwiz.js | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'lib/scripts') diff --git a/lib/scripts/linkwiz.js b/lib/scripts/linkwiz.js index 01deb2234..ce4b6b101 100644 --- a/lib/scripts/linkwiz.js +++ b/lib/scripts/linkwiz.js @@ -119,6 +119,20 @@ linkwiz = { if(obj){ linkwiz.deselect(); obj.className += ' selected'; + + // make sure the item is viewable in the scroll view + // FIXME check IE compatibility + if(obj.offsetTop > linkwiz.result.scrollTop + linkwiz.result.clientHeight){ + linkwiz.result.scrollTop += obj.clientHeight; + }else if(obj.offsetTop - linkwiz.result.clientHeight < linkwiz.result.scrollTop){ // this works but isn't quite right, fixes welcome + linkwiz.result.scrollTop -= obj.clientHeight; + } + // now recheck - if still not in view, the user used the mouse to scroll + if( (obj.offsetTop > linkwiz.result.scrollTop + linkwiz.result.clientHeight) || + (obj.offsetTop < linkwiz.result.scrollTop) ){ + obj.scrollIntoView(); + } + linkwiz.selected = num; } }, -- cgit v1.2.3