Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/143.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Extjs的树面板中收听dragstart?_Extjs - Fatal编程技术网

如何在Extjs的树面板中收听dragstart?

如何在Extjs的树面板中收听dragstart?,extjs,Extjs,ExtJs版本:6.2.1 作为标题,我已经在源代码中挖掘了一段时间,甚至没有看到任何地方可以顺便听一下。如果有人能指出或展示一些指南,我们将不胜感激。在树面板的plugins中,在viewConfig中指定dragZone,使用方法onStartDrag的对象将允许您连接到Extjs的内部拖动过程 该类不扩展Observable,因此很难找到正确的位置进行查找,因为通常您会期望.fireEvent('startdrag') 您也不能使用component query查找正确的父树视图/面板来发

ExtJs版本:6.2.1


作为标题,我已经在源代码中挖掘了一段时间,甚至没有看到任何地方可以顺便听一下。如果有人能指出或展示一些指南,我们将不胜感激。

在树面板的
plugins
中,在
viewConfig
中指定
dragZone
,使用方法
onStartDrag
的对象将允许您连接到Extjs的内部拖动过程

该类不扩展Observable,因此很难找到正确的位置进行查找,因为通常您会期望
.fireEvent('startdrag')

您也不能使用component query查找正确的父树视图/面板来发出正确事件的信号,因此最好通过Extjs函数实用程序创建回调

编辑:或者您可以执行类似操作,在
treeview
中调度
dragstart
事件:

dragZone: {
  onStartDrag: function(x, y) {
    this.view.fireEvent('dragstart', x, y);
  }
}

在树面板的
plugins
中的
viewConfig
中,使用带有方法
onStartDrag
的对象指定
dragZone
将允许您连接到Extjs的内部拖动过程

该类不扩展Observable,因此很难找到正确的位置进行查找,因为通常您会期望
.fireEvent('startdrag')

您也不能使用component query查找正确的父树视图/面板来发出正确事件的信号,因此最好通过Extjs函数实用程序创建回调

编辑:或者您可以执行类似操作,在
treeview
中调度
dragstart
事件:

dragZone: {
  onStartDrag: function(x, y) {
    this.view.fireEvent('dragstart', x, y);
  }
}

根据文档,dragstart不是Ext.Tree.Panel docs.sencha.com/extjs/6.2.1/classic/Ext.Tree.Panel.html中的事件,dragstart通常用于slider。是的,我在文档中看到了该部分。但我想知道的是,如果在树面板的任何地方,我可以把一个监听器放到dragstart事件中,那将是非常棒的。事实上,知道如何在Extjs中侦听dragstart事件会更好,因为它在doc/源代码中的存在几乎为0。通过侦听dragstart事件,您想要实现什么?如果我们知道你在用它做什么,回答你的问题会更容易。有一些插件可以使在树上实现更明显的拖放操作变得容易,但我想你已经忽略了这些:树面板和mouseevent的DragDrop的问题是,当你将鼠标移动到可选择的文本区域上时,它会触发/导致奇怪的行为。它使文本被选中。为了避免这种情况,我可以在视图上执行
onmousedown
,然后添加一个类,使文本不可选择,但是
onmousedown
的感觉永远不会像
dragstart
那么好。根据文档,dragstart不是Ext.Tree.Panel docs.sencha.com/extjs/6.2.1/classic/Ext.Tree.Panel.html中的事件,dragstart通常用于slider。是的,我在文档中看到了这一部分。但我想知道的是,如果在树面板的任何地方,我可以把一个监听器放到dragstart事件中,那将是非常棒的。事实上,知道如何在Extjs中侦听dragstart事件会更好,因为它在doc/源代码中的存在几乎为0。通过侦听dragstart事件,您想要实现什么?如果我们知道你在用它做什么,回答你的问题会更容易。有一些插件可以使在树上实现更明显的拖放操作变得容易,但我想你已经忽略了这些:树面板和mouseevent的DragDrop的问题是,当你将鼠标移动到可选择的文本区域上时,它会触发/导致奇怪的行为。它使文本被选中。因此,为了避免这种情况,我可以在视图上执行
onmousedown
,然后添加一个类以使文本不可选择,但是
onmousedown
的感觉永远不会像
dragsstart
那样好。