簡體   English   中英

在Panel上雙擊事件

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM