Javascript 在剑道UI树状视图之前和之后限制DropPosition

Javascript 在剑道UI树状视图之前和之后限制DropPosition,javascript,kendo-ui,kendo-treeview,Javascript,Kendo Ui,Kendo Treeview,在剑道UI树状视图中进行拖放时,它有3个位置,即“之前”、“结束”和“之后” 是否可以限制“之前”和“之后”状态,并且只允许下拉“结束”功能 注意 在我的场景中,我有两棵树,我将元素从左树拖到另一棵树 在kendoTreeView中,定义拖动和拖放事件处理程序,如下所示: drag : function (ev) { if (!$(ev.dropTarget).hasClass("k-in k-state-hover")) { ev.setStatusCla

在剑道UI树状视图中进行拖放时,它有3个位置,即“之前”、“结束”和“之后”

是否可以限制“之前”和“之后”状态,并且只允许下拉“结束”功能

注意

在我的场景中,我有两棵树,我将元素从左树拖到另一棵树


kendoTreeView
中,定义
拖动
拖放
事件处理程序,如下所示:

drag       : function (ev) {
    if (!$(ev.dropTarget).hasClass("k-in k-state-hover")) {
        ev.setStatusClass("k-denied")
    }
},
drop       : function (ev) {
    if (ev.sourceNode === ev.destinationNode) {
        ev.setValid(false);
    }
}
拖动
中,我检查我们是否在一个元素上,如果没有,我将该状态类设置为
k-denied
,它将
线索格式化为denied,但也防止将其放在那里

drop
中,我只是检查我没有将其放在防止堆栈溢出的顶部


在这里运行示例:

您的代码适用于单个树。但在我的场景中,我有两棵树,我将元素从左树拖到另一棵树。这种解决方案也适用于两棵树,并将元素从一棵树移到另一棵树。看到它在这里运行了吗()。它无法控制的是,您正在从树1移动到树2,而不是从树1移动到树2,或者在同一棵树内移动。这就是您想要控制的吗?版本只允许从tree1到tree2的元素:次要事项:此代码不适合将图标作为树节点。我将文件夹图标作为树节点,当我将一个文件夹拖动到另一个文件夹图标上时,拖动状态显示为拒绝,当我悬停该节点的文本时,这是冲绳事实,警告,此代码有点狡猾,因为它也不适合被选中的拖到节点上的节点-例如节点上的“k-state-selected”。因此,我将用一个if语句替换hasClass(),它将k-in和k-state-hover(一种硬编码的,不总是case场景)组合在一起,if语句是条件和所需状态