extjs面板的可拖动事件
当我将给定面板设置为“可拖动”时,是否有一个用于拖动结束事件的侦听器?我发现,通过在初始配置中启用“draggable”属性,可以使一个面板在另一个面板中拖动,但我希望在拖动发生时捕获事件。查看文档,我发现我可以添加类似“load”的侦听器,但我没有看到可以侦听的所有受支持事件的列表。这可以在配置中处理,还是应该使用addListener()?无论哪种方式,语法是什么?我如何使用文档来解决这个问题?我只想能够在每次拖动面板在其容器周围移动时启动一个函数。谢谢extjs面板的可拖动事件,extjs,extjs4,panel,draggable,extjs4.1,Extjs,Extjs4,Panel,Draggable,Extjs4.1,当我将给定面板设置为“可拖动”时,是否有一个用于拖动结束事件的侦听器?我发现,通过在初始配置中启用“draggable”属性,可以使一个面板在另一个面板中拖动,但我希望在拖动发生时捕获事件。查看文档,我发现我可以添加类似“load”的侦听器,但我没有看到可以侦听的所有受支持事件的列表。这可以在配置中处理,还是应该使用addListener()?无论哪种方式,语法是什么?我如何使用文档来解决这个问题?我只想能够在每次拖动面板在其容器周围移动时启动一个函数。谢谢 var panel = Ext.cr
var panel = Ext.create('Ext.tree.Panel', {
draggable: true,
width: 200,
height: 200,
});
我希望我能像这样做
var panel = Ext.create('Ext.tree.Panel', {
draggable: true,
width: 200,
height: 200,
listeners: {
dragging: function(e) {
// being dragged
},
dropped: function(e) {
// dropped
},
});
在这种情况下,你不会对Listeren这样做。有四种模板方法可以重写
var panel = Ext.create('Ext.tree.Panel', {
draggable: {
onDrag: function(e) {
// do what you like
},
onEnd: function(e) {
// do what you like
}
},
width: 200,
height: 200,
});
请注意,参数是事件对象在这种情况下,您不会对Listerns执行此操作。有四种模板方法可以重写
var panel = Ext.create('Ext.tree.Panel', {
draggable: {
onDrag: function(e) {
// do what you like
},
onEnd: function(e) {
// do what you like
}
},
width: 200,
height: 200,
});
注意,参数是事件对象我试图在拖动开始前修改
Ext.window.window
上的组件,在sencha论坛中发现draggable
窗口侦听dragstart
事件,可能它也与面板
一起工作
我使用了以下代码:
listeners: {
dragstart: function() {
console.log('we are starting the drag');
}
}
工作起来很有魅力。在我的应用程序中使用Ext JS 4.1.0
对于拖动结束,我发现
Ext.window.window
的move
事件符合需要。我试图在拖动开始前修改Ext.window.window
上的组件,并在sencha论坛中发现draggable
窗口侦听dragstart
事件,也许它也可以与面板一起工作
我使用了以下代码:
listeners: {
dragstart: function() {
console.log('we are starting the drag');
}
}
工作起来很有魅力。在我的应用程序中使用Ext JS 4.1.0
对于拖动的结束,我发现Ext.window.window
的move
事件符合需要。要将dragstart listener与Ext.panel.panel一起使用,需要设置simpleDrag:true
但是当simpleDrag处于活动状态时,您不能拖放,只需将面板作为窗口拖动/移动即可。要将dragstart listener与Ext.Panel.Panel一起使用,您需要将simpleDrag设置为true
但是,当simpleDrag处于活动状态时,您不能拖放,只需将面板作为窗口拖动/移动即可。@不,您错了。这些是模板方法,意味着它们将被覆盖。只是在4.1.0中尝试了一个窗口。方法重写后,拖动正常行为不起作用。但是当窗口是可拖动的时,它确实使用ComponentDragger,它有一个dragstart事件,在您可以监听的窗口上触发。@Tappose窗口是面板的一个特殊子类型,它使用一个自定义组件dragger,它自己设置模板方法。@Tappose不,您错了。这些是模板方法,意味着它们将被覆盖。只是在4.1.0中尝试了一个窗口。方法重写后,拖动正常行为不起作用。但是当窗口是可拖动的时,它确实使用ComponentDragger,它有一个dragstart事件,在您可以侦听的窗口上触发。@如果窗口是面板的一个特殊子类型,它使用一个自定义组件dragger,该组件dragger本身设置模板方法。