升级到最新版本的 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 有什么变化?我该如何解决?
非常感谢。
最佳答案
问题是您正在尝试删除正在选择的节点。删除节点后,KendoUI 仍会继续执行操作并尝试选择您删除的节点(它不再存在)。
您应该调用 preventDefault
,如下所示:
function onSelect(e) {
node1 = e.node;
addViews();
e.preventDefault();
}
千万不要让KendoUI办事。
关于javascript - 升级到 KendoUI 2013.1.319 后,Treeview 抛出异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16155760/