2017-07-12 18 views
1

2016.3.914版本之前,有可能通過調用e.setStatusClass("k-denied");如何拒絕放置事件?

$("#treeview").kendoTreeView({ 
    dragAndDrop: true, 
    dataSource: [ 
    { text: "foo", items: [ 
     { text: "bar" } 
    ] } 
    ], 
    drag: function(e) { 
    e.setStatusClass("k-denied"); 
    } 
}); 

然而,從2016.3.914版本開始取消drop事件,預先定義的狀態CLASSE K-否認不工作了。 documentation表示應該將k-i-添加爲類前綴,但k-i-denied不起作用,因爲取消圖標未出現,並且仍然允許放置。

請注意,從2016.3.914版開始,預定義狀態類的命名約定是k-i-className。

注意,狀態類由 e.statusClass沒有K-前綴返回,但通過e.setStatusClass設定預定 狀態類時,需要這個前綴。如果設置 自定義狀態CSS類,則不需要前綴。

+0

到底是什麼它要發生?允許拖動但防止丟棄? – Shai

+0

提供的代碼只是爲了簡化問題。不管你的邏輯是什麼,你都不能使用'.setStatusClass(「k-denied」);'來防止掉落。當我發佈這個問題時,我已經有了這個問題。由於這不是由劍道記錄,我覺得它可以幫助別人。 –

+0

我問的原因是我不認爲''setStatusClass'是完全可以走的路。我試圖理解你想要爲你提供一個好的解決方案是什麼。 – Shai

回答

1

該文檔對一件事是正確的。我們必須使用k-i-前綴。然而,什麼樣的文件並沒有告訴你的事實是劍道已經改變了預先定義的狀態類從k-deniedk-i-cancel

$("#treeview").kendoTreeView({ 
    dragAndDrop: true, 
    dataSource: [ 
    { text: "foo", items: [ 
     { text: "bar" } 
    ] } 
    ], 
    drag: function(e) { 
    e.setStatusClass("k-i-cancel"); 
    } 
});