2013-04-22 74 views
0

升级到最新版本的KendoUI后,KendoUI Treeview出现问题。Treeview在升级到KendoUI后抛出异常2013.1.319

示例代码:

<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* 
} 
} 

我得到一个JavaScript错误“无法获取属性未定义或空引用‘设置’”,呼吁treeview1.remove(节点)在kendo.web后。 min.js.

调试器停在:

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

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

你应该调用preventDefault为:

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

为了不让KendoUI做的事情。