我在一些源代码中(几天前)看到一个程序dblclick
在面板上有一个事件或类似的东西。
如果您查看文档
http://docs.sencha.com/ext-js/4-1/#!/api/Ext.panel.Panel
在事件下,没有点击事件。
我想我看到了类似的东西
ondblclick
进而
fn: function(){...}
为什么它不在文档中,如何dblclick
在面板上触发事件?
我在一些源代码中(几天前)看到一个程序dblclick
在面板上有一个事件或类似的东西。
如果您查看文档
http://docs.sencha.com/ext-js/4-1/#!/api/Ext.panel.Panel
在事件下,没有点击事件。
我想我看到了类似的东西
ondblclick
进而
fn: function(){...}
为什么它不在文档中,如何dblclick
在面板上触发事件?
以下示例将起作用。双击事件将由Ext.Element触发,该元素可以在从面板的 body 参数渲染后获取。在示例中,我重写了afterRender方法,因为不需要为此注册事件。在那里,我为当前面板的 Ext.Element 注册了一个侦听器。
Ext.define('Ext.ux.panel.DCPanel', {
extend: 'Ext.panel.Panel',
alias: 'widget.dcpanel',
initComponent: function() {
this.callParent(arguments);
},
afterRender: function() {
var me = this;
me.body.on('dblclick', function() { alert('hit'); }, me);
me.callParent();
}
});
Ext.create('Ext.ux.panel.DCPanel', {
width: 300,
height: 300,
title: 'Demo',
html: 'this is my data',
renderTo: Ext.getBody()
});
除了@sra 答案,我会说在分配侦听器时Component
可以使用选项将处理程序分配给 dom :element
var panel = Ext.create('Ext.panel.Panel', {
// ...
listeners: {
dblclick: function() {
// handle event
},
element: 'body'
}
});