javascript - devExtreme TreeView 展开、滚动和聚焦

标签 javascript jquery treeview devextreme

是否可以伸展树(Splay Tree) View 、滚动到节点并将其聚焦于一个功能?

    $("#buttonTest").dxButton({
    text: "Test",
    onClick: function () {

        editTreeView.expandItem(editTreeView.element().find(".dx-treeview-item")[0])

        var currentNode = $("#editTreeView").find("[data-item-id=" + 80 + "]");
        var scrollable = $("#editTreeView").find(".dx-scrollable").dxScrollable("instance");

        scrollable.scrollToElement(currentNode);

        $("#editTreeView").find(".dx-treeview-node").removeClass("dx-state-focused");

        var currentNode = $("#editTreeView").find("[data-item-id=" + 80 + "]");
        currentNode.focus().addClass("dx-state-focused");

    }
});

在此示例中,树在第一次单击时打开,并在第二次单击时滚动/聚焦。但我想要一键获得:)

谢谢。

最佳答案

似乎存在与可滚动高度计算相关的问题。您可以使用 setTimeout 函数修复它,如下所示:

$("#buttonTest").dxButton({
    text: "Test",
    onClick: function () {
        //...
        setTimeout(function() {
            scrollable.scrollToElement(currentNode);
        }, 300); 
    }
});

这个解决方案看起来像是一个黑客,但仍然))

我创建了 fiddle也是如此。

关于javascript - devExtreme TreeView 展开、滚动和聚焦,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41442046/

相关文章:

javascript - 在 d3.js 中缩放数据集

javascript - Meteor - 如何在同一模板助手中调用另一个函数

c# - 如何修复 TreeView 中的 foreach

javascript - jQuery/JS : Sorting array based upon another array?

javascript - 棘手的 CSS : crop image without direct container

c# - 如何防止我的 WPF TreeView 聚焦选定的 TreeViewItem

JavaFX CheckBoxTreeItem 选择

javascript - 使用数据计算输入和文本区域的数量

javascript - 如果多个脚本设置 window.onload 会发生什么?

javascript - jquery从其他数组中删除多个数组