Редактирование событий двойного щелчка по узлу дерева Кендоуи

У меня есть кендо UI TreeView. Я хочу обновить или удалить узел дерева кендо при двойном щелчке. Когда я дважды щелкаю на узле дерева, он начинает редактировать режим в текстовом поле. Затем я хочу добавить значок кнопки закрытия, и когда я нажимаю на него, я хочу удалить узел и связанные дочерние узлы. Я определил код как

        var treeview = $("#treeview").kendoTreeView({
            template: kendo.template($("#treeview-template").html()),
            select: onSelect,
            loadOnDemand: true,
            dataSource: dataSource, // dynamic datasource
            dataTextField: ["categoryname"]
        }).on('dblclick', '.child', function(event)
        {
            $(this).siblings(".sri").show();
            $target = $(event.target);
            alert("event" + event);
            $target.editable(function (value, settings)
            {                  
                return value;
            },
            {
                event: 'dblclick',
                cssclass: 'treeInlineEdit'
            });

            $target.trigger('dblclick', [event]);

        }).data("kendoTreeView"); 

И мой шаблон как

      <script id="treeview-template" type="text/kendo-ui-template">

            <span class='child'>#: item.categoryname #</span>
            <a class='showcloseicon' onclick='sri(#:item.categoryid#)' name='#:item.categoryid#' style='color:blue;display:none'>X</a>

</script>

Но код не работает должным образом. Какие изменения мне нужно сделать.

1 ответ

Это может быть поздно для вечеринки, но я также искал событие KendoUI TreeView DoubleClick. Осмотрелся вокруг и ничего не было прямо вперед. Немного повозившись, я смог получить то, что мне нужно, в следующем коде. Я упустил все обычные привязки и настройки источников данных и стандартную настройку дерева. Сразу после кода для настройки дерева, у меня есть следующий код:

$("#treeView .k-in").on("dblclick", function (e) {
  var node = $(e.target).closest(".k-item");
  if ($("#treeView").getKendoTreeView().dataItem(node).items.length == 0) {
    // This means you are on an Item that has no Child items
    // Use $("#treeView").getKendoTreeView().dataItem(node) to get values from
    // the dataitem
  }
});

Это все, что мне нужно, чтобы получить то, что я искал. Событие двойного щелчка на элементе дочернего узла. Надеюсь, это поможет кому-то.

Другие вопросы по тегам