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

标签 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 有什么变化?我该如何解决?

非常感谢。

最佳答案

问题是您正在尝试删除正在选择的节点。删除节点后,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/

相关文章:

kendo-ui - Kendo 组合框设置默认值

ajax - 模型绑定(bind)来自 KendoUI Grid 的排序字段

kendo-treeview - Kendo TreeView如何根据Jquery中的授权选择模板

javascript - Bootstrap 模式委托(delegate)事件类型语法

javascript - HTML 重复 ID

javascript - Sprockets 的 asset_path 不会返回生产中 HTML 资源的摘要路径。

javascript - 如何获取现有数组中特定对象的计数数组?

jquery - 删除命令不触发数据源的销毁传输方法

php - 从 Kendo Treeview 选择的节点中检索 id

javascript - 本地和远程数据源到 Kendo Treeview