升级到KendoUI 2013.1.319后,Treeview将抛出异常

时间:2013-04-22 20:06:36

标签: javascript kendo-ui kendo-treeview kendo-asp.net-mvc

升级到最新版本的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发生了哪些变化?我该如何解决?

非常感谢。

1 个答案:

答案 0 :(得分:1)

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

您应该调用preventDefault,如下所示:

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

不要让KendoUI做事。