Я обнаружил, что activateKey неправильно устанавливает фокус в зависимости от используемого ключа / узла. Сначала он устанавливает фокус, а затем выполняет прокрутку вверх до вершины дерева, когда активный / выбранный узел не отображается.
Скрипка ниже работает так, как ожидалось: http://jsfiddle.net/op5ga0zf/2/
Эта рабочий пример прокручивается обратно до вершины дерева, единственная разница - это значение ключа, используемое в activateKey: http://jsfiddle.net/op5ga0zf/3/
У меня одинаковое поведение во всех браузерах, я что-то делаю не так или это ошибка?
$(function() {
var $orgtree = $('#orgtree');
$orgtree.fancytree({
autoScroll: true,
activate: function(event, data) {
data.node.setSelected(!data.node.isSelected())
},
checkbox: true,
extensions: ['filter'],
filter: {
autoExpand: true,
counter: false,
mode: "hide"
},
icon: false,
init: function(event, data) {
var key = $('#OrganisationID').val();
if (key !== '') {
data.tree.activateKey(key);
}
},
select: function(event, data) {
if (data.node.isSelected()) {
$('#OrganisationID').val(data.node.key);
} else {
$('#OrganisationID').val("");
}
},
selectMode: 1,
source: treeData,
tabindex: ""
});
$('#filter-orgtree').keyup(function() {
$orgtree.fancytree("getTree").filterNodes($(this).val());
});
});
Это была ошибка, и она будет исправлена в версии 2.30.