2013-03-04 67 views

回答

3

在你kendoTreeView,定義dragdrop事件處理程序如下:

drag  : function (ev) { 
    if (!$(ev.dropTarget).hasClass("k-in k-state-hover")) { 
     ev.setStatusClass("k-denied") 
    } 
}, 
drop  : function (ev) { 
    if (ev.sourceNode === ev.destinationNode) { 
     ev.setValid(false); 
    } 
} 

drag我檢查,我們是的元素,如果不是我設置的狀態類k-denied它將clue格式化爲被拒絕,但也防止將其丟棄。

drop我只是檢查,我沒有在自己的頂部防止堆棧溢出。

在此處運行示例:http://jsfiddle.net/OnaBai/mu92b/

+0

您的代碼適用於單個樹。但在我的場景中,我有2棵樹,我將元素從左邊的樹拖到另一棵。 – Nipuna 2013-03-04 12:10:46

+1

此解決方案適用於兩棵樹,並將元素從一棵樹移動到另一棵樹。看到它在這裏運行(http://jsfiddle.net/OnaBai/mu92b/1/)。它不能控制的是你從樹1移動到樹2,而不是反過來或在同一棵樹內。那是你想要控制的嗎? – OnaBai 2013-03-04 12:19:35

+1

版本只允許tree1在tree2的元素上:http://jsfiddle.net/OnaBai/eyjTN/ – OnaBai 2013-03-04 16:18:27