Javascript 如何拒绝丢弃事件?

Javascript 如何拒绝丢弃事件?,javascript,kendo-ui,kendo-treeview,Javascript,Kendo Ui,Kendo Treeview,在版本2016.3.914之前,可以通过调用e.setStatusClass(“k-denied”)来取消丢弃事件 但是,从2016.3.914版开始,预定义的状态classe k-denied不再起作用。说明应将k-i-添加为类前缀,但k-i-denied不起作用,因为取消图标未出现,并且仍允许删除 请注意,从2016.3.914版开始,预定义状态类的命名约定为k-i-className 注意,status类是由 e、 statusClass,但在设置预定义的 通过e.setStatusCla

在版本2016.3.914之前,可以通过调用
e.setStatusClass(“k-denied”)来取消丢弃事件

但是,从2016.3.914版开始,预定义的状态classe k-denied不再起作用。说明应将
k-i-
添加为类前缀,但
k-i-denied
不起作用,因为取消图标未出现,并且仍允许删除

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

注意,status类是由 e、 statusClass,但在设置预定义的 通过e.setStatusClass设置状态类。如果设置为,则不需要前缀 自定义状态CSS类


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

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

你到底想发生什么?允许拖动但防止掉落?提供的代码只是为了简化问题。无论您的逻辑是什么,您都无法使用
.setStatusClass(“k-denied”)。当我发布问题时,我已经有了答案。由于剑道没有记录这一点,我觉得它可以帮助其他人。我问这个问题的原因是,我认为
setStatusClass
根本不是解决问题的方法。我试图理解你想做什么来提供一个好的解决方案。这个想法是为了防止节点掉在特定的元素上。在拖放事件中调用
setStatusClass(“k-i-cancel”)
与在拖放事件中调用
setValid(false)
相同,只是用户会看到取消图标,如果单独使用
setValid
,则不会出现这种情况。
$("#treeview").kendoTreeView({
  dragAndDrop: true,
  dataSource: [
    { text: "foo", items: [
      { text: "bar" }
    ] }
  ],
  drag: function(e) {
    e.setStatusClass("k-i-cancel");
  }
});