如何在Extjs 4标签上添加点击事件

问题描述 投票:0回答:6

我尝试在 extjs4 中的标签上添加点击事件,但不起作用

Ext.onReady(function() {

    var ResetLabel = new Ext.form.Label({
        id:'ResetLabel',
        text: 'click it',
        renderTo : document.body                                

    });
    alert(Ext.getCmp('ResetLabel').id);

    Ext.getCmp('ResetLabel').on('click',function(){

        alert("message");
    });

});

如何在标签上添加事件?

javascript extjs dom-events javascript-framework
6个回答
5
投票

此代码适用于 Extjs 4

Ext.onReady(function() {

    var ResetLabel = new Ext.form.Label({
        id:'ResetLabel',
        text: 'click it',
        renderTo : document.body                                

    });
    alert(Ext.getCmp('ResetLabel').getEl());

    Ext.getCmp('ResetLabel').getEl().on('click',function(){

        alert("message");
    });

});

4
投票
{ 
    xtype: 'label',
    listeners: { 
       element: 'el',
       click: function () { alert(); }
    }
}

3
投票

试试这个:

Ext.onReady(function() { 

var ResetLabel = new Ext.form.Label({ 
    id:'ResetLabel', 
    text: 'click it', 

listeners: {
   click: function(){ 
           alert("message"); 
       }
},

    renderTo : document.body                                 

}); 

alert(Ext.getCmp('ResetLabel').id); 


}); 

1
投票

是的,对我来说也不起作用,尝试了所有的例子......

检查一下,这有效

    var ResetLabel = new Ext.form.Label({
        id:'ResetLabel',
        text: 'click it'

    });
    Ext.onReady(function() {
        Ext.getCmp('ResetLabel').getEl().on('click',function(){
            alert("message");
        });
    });

我正在将 ResetLabel 添加到我的面板中。


1
投票

我正在 ExtJS 3.4 之上开发一个旧的代码库,以下内容对我有用。我想它也应该适用于更高版本。

new Ext.form.Label({
   "html": "Halp!",
   "listeners": {

       /* We are going to assing the click event right after the element has rendered */
       "afterrender": function () {

           this.getEl().on( "click", function () {
               console.log( "Clicked!" );
           });
       }
    }
});

0
投票

我喜欢更短的内容,以便更快地理解想法:

// Adding abcent label event through its dom-structure:
myLabel.getEl().on(
  "click",
  onClickMyLabel);
© www.soinside.com 2019 - 2024. All rights reserved.