开发者

why my listeners does not work on extjs?

here is the code开发者_如何学C and also i want onPaste event instead of click but nothing working

var mpan0 = new Ext.form.TextField({
    name:'mpan[]' ,
    value:0 , 
    allowblank:false , 
    enableKeyEvents:true ,
    fieldLabel:'Mpan',
    maxLength:2,
    width:35
    });

mpan0.addListener('click', function(){ 
    alert( "amiy");
});


Ext.form.TextField does not have a 'click' event. You can see the events it does support at:

http://www.sencha.com/deploy/dev/docs/?class=Ext.form.TextField

The closest I can think of to what you are seeking is the 'focus' event.

If you really must have a click event you can try attaching a listener to the field object's fundamental DOM element:

Ext.form.TextField({
    listeners: {
        afterrender: function( field ) {
            field.getEl().on('click', function( event, el ) {
                 // do something on click
            });
        }
    }
});

I can't claim to know how successful that will be, however.

Documentation on Ext.Element's click event can be found at:

http://www.sencha.com/deploy/dev/docs/?class=Ext.Element


yourtextfield = new Ext.form.TextField({
    id:'yourtextfield ',
    readOnly : true,
    listeners: {'render': function(cmp) { 
      cmp.getEl().on('click', function( event, el ) {
      alert("You click text field");
      });            
    }}        
});

This works.


ExtJs uses on, so it should be

mpan0.on("click", function(){
    alert("amiy");
});

But you can also add it declaratively

var mpan0 = new Ext.form.TextField({
    name:'mpan[]' ,
    value:0 , 
    allowblank:false , 
    enableKeyEvents:true ,
    fieldLabel:'Mpan',
    maxLength:2,
    width:35,
    listeners: {
        "click": function() {
            alert("amiy");
        }
    }
});
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜