2013-04-15 61 views
0

對於那些可能花費數小時試圖理解爲什麼它們不會從select回調中獲得相同行爲的人,無論是由select事件還是select方法觸發。Kendo TreeView選擇功能和事件不當行爲

我不明白爲什麼這是完美的,當我手動選擇一個項目,而沒有反應,如果我使用的方法。我試圖觸發樹元素上的事件,因爲它看起來根本沒有被觸發。

select: function(e){ 
    var item = e.node; 
    appui.f.post("admin/object_editor/obj/" + 
    (typeof(item.class) !== "undefined" ? "object" : "field") + 
    "/" + item.id + "/" + item.uid, {partial:1}, $("#object_cfg_container")); 
} 

回答

0

的功能被觸發,但是當使用選擇方法從第一行返回一個錯誤。

實際上發生的事情是,該事件是作爲函數的參數發送的,您可以在其中找到節點屬性,它是新選擇的對象。

但是,當您使用select方法時,事件參數不再具有節點屬性。

所以,也許你發現沒有參數的select()方法返回所選元素。

但一個新的問題出現,在活動期間推出時,這個函數將返回舊選定的項目,而如果它推出的一種方法,它會返回新選擇的項目......

我的解決辦法:

select: function(e){ 
    var item = e.node ? e.node : this.select(), 
     data = this.dataItem(item); 
    .... 
}