1

私は剣道treeViewが初めてです。ツリービューを自動的にスクロールして、現在のビューポートでノードを取得できますか? 問題のJSBin Sampleを示すサンプルを作成しました

4

1 に答える 1

6

treeView にそのオプションがあるかどうかはわかりませんが、「select」イベントのイベント ハンドラーを作成してから、自分でスクロールを処理できます。

var treeview = $("#tree").kendoTreeView({
  select: function(e) {
    var eleTop = $(e.node).offset().top;
    var treeScrollTop = $("#tree").scrollTop();
    var treeTop = $("#tree").offset().top;
    $("#tree").animate({
      scrollTop: (treeScrollTop + eleTop) - treeTop
    });
  },
  dataSource:[
    { expanded:true, text: "Furniture", items: [
      { text: "Tables & Chairs" },
      { text: "Sofas" },
      { text: "Occasional Furniture" }
    ] },
    { expanded:true, text: "Decor", items: [
      { text: "Bed Linen" },
      { text: "Curtains & Blinds" },
      { text: "Carpets" }
    ] }
  ]    

});
var treeview = $("#tree").data("kendoTreeView");
// find the node with text "foo"
var decor = treeview.findByText("Decor");
treeview.select(decor);
treeview.trigger("select", {node: decor});

注: treeview api を使用してノードを選択すると、イベントが発生しないため、トリガーを介して自分で発生させました。これをあなたのビンでテストしたところ、かなりうまく機能しました。目的の結果が得られるように微調整します。

于 2014-02-26T01:35:37.063 に答える