Kendo UI TreeView上下文右键单击混淆选择

时间:2016-01-26 19:28:27

标签: javascript kendo-ui

下面我试图简化更复杂的TreeView使用,我没有在TreeView节点项上实现ContextMenu,这是一个展示潜在相关问题的小提琴。步骤:在我的简化示例中,左键单击以选择一个节点,然后右键单击另一个节点,最后解除转义,然后选择指示混淆。我已经尝试过"返回false",选择(无),并阻止默认()无济于事。

我的问题是:这是Kendo UI中的一个错误,还是我在使用TreeView时遗漏了一些内容?

https://jsfiddle.net/3cp9m8wo/

<div id='Tree_Space'></div>
<script type='text/x-kendo-template' id='Tree_template'>
    #= item.Name#
</script>
<script>
    $('#Tree_Space').kendoTreeView({
        dataSource: [ { Name: 'Top', items: [ { Name:'Item' }, { Name:'Item' } ] } ],
        template: kendo.template($('#Tree_template').html())
    });
    $("#Tree_Space").data("kendoTreeView").expand('.k-item');
</script>

我的完全目标是完全禁用TreeView节点上的Kendo UI选择,允许我为放置在树节点中的元素实现左键单击(操作)和右键单击(ContextMenus)。但是,我还没有看到在TreeView上禁用select的方法。我发现JQuery.click()确实可以工作并取消选择Kendo UI选择,但Kendo UI上下文菜单无法在右键单击时弹出,并显示其他工件 - 其中一个我认为我已经隔离在这里希望学习一些东西。

1 个答案:

答案 0 :(得分:1)

您可以尝试在模板中使用某些内容来控制它:

   <script type='text/x-kendo-template' id='Tree_template'>
        //Ideally, your server will return a collection that determines if the item can be selected, likewise, you could add a IsParentNode or something to indicate the item should be treated differently. 
        #if (item.CanSelect != 'null' && item.CanSelect==true)  { #
            <span>#: item.Name#</span>    
        #}else{#
            <span class='no-select'>#: item.Name#</span>    
        #}#   
   </script>

   <script type="text/javascript">
       $(document).ready(function () {
           //Add code here to tie into the onmousedown of all .no-select elements

            $(document).on("click", "no-select", function (e) {
                    e.preventDefault();                   
            });
       });
  </script>