Kendo UI TreeView - щелкните уже выбранный узел

У меня есть Kendo UI Treeview, и проблема в том, что событие select не запускается, когда пользователь нажимает на уже выбранный узел. Есть ли другой способ сделать это, кроме запуска события с помощью jquery, щелчка по элементу класса?

Спасибо!


person IceWhisper    schedule 17.12.2015    source источник
comment
Боюсь, ответ будет нет. По крайней мере, не по замыслу.   -  person DontVoteMeDown    schedule 17.12.2015


Ответы (1)


Попробуйте использовать приведенный ниже фрагмент кода.

Способ 1:

<div id="treeview-left"></div>
<script>
    var inlineDefault = new kendo.data.HierarchicalDataSource({
        data: [
            {
                text: "Furniture", items: [
                    { text: "Tables & Chairs" },
                    { text: "Sofas" },
                    { text: "Occasional Furniture" }
                ]
            },
            {
                text: "Decor", items: [
                    { text: "Bed Linen" },
                    { text: "Curtains & Blinds" },
                    { text: "Carpets" }
                ]
            }
        ]
    });

    $("#treeview-left").kendoTreeView({
        select: onSelect,
        dataSource: inlineDefault
    });

    function onSelect(e) {
        test();
    } 
    $(document).on('click', '.k-state-selected', function () {
        $("#treeview-left").data("kendoTreeView").trigger("select");
    });

    function test() {
        //Your logic comes here
    }
</script>

Способ 2:

<div id="treeview-left"></div>
<script>
    var inlineDefault = new kendo.data.HierarchicalDataSource({
        data: [
            {
                text: "Furniture", items: [
                    { text: "Tables & Chairs" },
                    { text: "Sofas" },
                    { text: "Occasional Furniture" }
                ]
            },
            {
                text: "Decor", items: [
                    { text: "Bed Linen" },
                    { text: "Curtains & Blinds" },
                    { text: "Carpets" }
                ]
            }
        ]
    });

    $("#treeview-left").kendoTreeView({
        select: onSelect,
        dataSource: inlineDefault
    });

    function onSelect(e) {
        test();
    } 
    $(document).on('click', '.k-state-selected', function () {
        test();
    });

    function test() {
        //Your logic comes here
    }
</script>

Сообщите мне, если возникнут какие-либо проблемы.

person Jayesh Goyani    schedule 17.12.2015
comment
Я сделал это первым методом: D вот так $ (# treeview) .on (click, li .k-state-selected, function (e) {var treeview = $ (# treeview) .data (kendoTreeView), node = $ (это) .closest (li) [0]; treeview.trigger (выберите, {узел: узел});}); - person IceWhisper; 17.12.2015