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

时间:2011-09-15 10:01:12

标签: javascript javascript-events extjs javascript-framework

我尝试在extjs4中的标签上添加click事件但不能正常工作

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");
    });

});

如何在标签上添加事件?

6 个答案:

答案 0 :(得分: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");
    });

});

答案 1 :(得分: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); 


}); 

答案 2 :(得分:3)

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

答案 3 :(得分: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添加到我的面板中。

答案 4 :(得分: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!" );
           });
       }
    }
});

答案 5 :(得分:0)

我更喜欢更短的时间来更快地理解这个想法:

// Adding abcent label event through its dom-structure:
myLabel.getEl().on(
  "click",
  onClickMyLabel);