From c0504d929a746b7c9578602377f735a93aa24fb4 Mon Sep 17 00:00:00 2001 From: Donna Wu Date: Thu, 23 Aug 2012 11:15:42 +0800 Subject: [PATCH] [Outline View] Keyboard focus follows mouse click focus --- src/js/views/tree.js | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/src/js/views/tree.js b/src/js/views/tree.js index 7d310156..7ea6660f 100644 --- a/src/js/views/tree.js +++ b/src/js/views/tree.js @@ -40,7 +40,7 @@ focused = selected; } items = $(this).find("a:visible"); - focusedIndex = items.index(focused); + focusedIndex = focusing = items.index(focused); if (focused === -1) { console.error("focused not in list items"); } @@ -66,8 +66,12 @@ default: break; } - focused.removeClass("focused"); - $(items[focusing]).addClass("focused"); + if (focused !== focusing) { + focused.removeClass("focused"); + $(items[focusing]).addClass("focused"); + items[focusing].scrollIntoViewIfNeeded(); + } + return false; }, _setOption: function(key, value) { @@ -175,6 +179,11 @@ .addClass('ui-selected') [0].scrollIntoViewIfNeeded(); domNode[0].scrollIntoViewIfNeeded(); + if (this.element.is(':focus')) { + this.element.find('.focused') + .removeClass("focused"); + domNode.find('> a').addClass("focused") + } } },