Fancytree activateKey设置焦点,然后根据键滚动到顶部

时间:2018-05-02 13:07:32

标签: javascript fancytree

我发现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());
  });
});

1 个答案:

答案 0 :(得分:2)

这是bug,将在版本2.30中修复。