Avoid scrolling when moving focus from a treelist widget (#1489929)

pull/198/head
Thomas Bruederli 10 years ago
parent 7e309b872f
commit 74052d49b9

@ -755,7 +755,7 @@ function rcube_treelist_widget(node, p)
case 9: // Tab
// jump to last/first item to move focus away from the treelist widget by tab
var limit = rcube_event.get_modifier(e) == SHIFT_KEY ? 'first' : 'last';
container.find('li[role=treeitem]:has(a)')[limit]().find('a:'+limit).focus();
focus_noscroll(container.find('li[role=treeitem]:has(a)')[limit]().find('a:'+limit));
break;
}
@ -788,6 +788,19 @@ function rcube_treelist_widget(node, p)
}
}
/**
* Focus the given element without scrolling the list container
*/
function focus_noscroll(elem)
{
if (elem.length) {
var frame = container.parent().get(0) || { scrollTop:0 },
y = frame.scrollTop || frame.scrollY;
elem.focus();
frame.scrollTop = y;
}
}
///// drag & drop support

Loading…
Cancel
Save