0

升级到最新版本的 KendoUI 后,我遇到了 KendoUI Treeview 的问题。

示例代码:

<script type="text/javascript">
var node1, node2;
function onSelect(e) {
    node1 = e.node;
    addViews();
}

function addViews() {
if (node1 != null) {
   var treeview1 = $("#TreeAvailable").data("kendoTreeView");
   var treeview2 = $("#TreeSelected").data("kendoTreeView");
   treeview1.remove(node1);      // *JavaScript Error as soon I remove the node*
}
}

在 kendo.web.min.js 中调用treeview1.remove(node1)后,我收到 JavaScript 错误“无法获取未定义或空引用的属性‘集’” 。

调试器停止在:

return arguments.length?(n=e(n,r).closest(P),r.find(".k-state-selected").each
(function(){vare=i.dataItem(this);e.set("selected",!1),delete e.selected})

最新版本的 KendoUI 发生了哪些变化?我该如何解决?

非常感谢。

4

1 回答 1

1

问题是您正在尝试删除正在选择的节点。删除节点后,KendoUI 仍会继续执行操作并尝试选择您删除的节点(它不再存在)。

您应该调用preventDefault如下:

function onSelect(e) {
    node1 = e.node;
    addViews();
    e.preventDefault();
}

不要让KendoUI做事。

于 2013-04-22T22:02:17.477 回答