如何拒绝掉落事件?

How to deny the drop event?

在版本 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 开始,预定义状态 classe k-denied 不再起作用。 documentationk-i- 应该添加为 class 前缀,但是 k-i-denied 不起作用,因为取消图标没有出现并且仍然允许放置。

请注意,从版本 2016.3.914 开始,预定义状态 classes 的命名约定为 k-i-className.

Note that status classes are returned without the k- prefix by e.statusClass, but this prefix is required when setting a predefined status class via e.setStatusClass. A prefix is not required if setting a custom status CSS class.

文档在一件事上是正确的。我们必须使用 k-i- 前缀。但是,文档没有告诉您 kendo 已将预定义状态 类 从 k-denied 更改为 k-i-cancel

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