![](/img/trans.png)
[英]How to add row double click event listener when extending grid panel with Ext.define()?
[英]Double click event on Panel
我在一些源代碼(幾天前)中看到一個程序在面板上有一個dblclick
事件或類似的東西。
如果你看一下文檔
http://docs.sencha.com/ext-js/4-1/#!/api/Ext.panel.Panel
在活動中,沒有點擊的事件。
我想我看到了類似的東西
ondblclick
接着
fn: function(){...}
為什么它不在文檔中,如何在面板上dblclick
事件?
以下示例將起作用。 雙擊事件將被Ext.Element觸發,可以從面板的主體參數渲染后獲取。 在示例中,我重寫了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回答之外,我會說在分配監聽器時可以使用element
選項將處理程序分配給Component
的dom:
var panel = Ext.create('Ext.panel.Panel', {
// ...
listeners: {
dblclick: function() {
// handle event
},
element: 'body'
}
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.