почему мои слушатели не работают на extjs? - PullRequest
2 голосов
/ 03 июля 2010

вот код, а также я хочу событие onPaste вместо клика, но ничего не работает

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

Ответы [ 3 ]

6 голосов
/ 03 июля 2010

Ext.form.TextField не имеет события «щелчка». Вы можете увидеть события, которые он поддерживает, по адресу:

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

Самое близкое, что я могу вспомнить к тому, что вы ищете, - это событие «фокус».

Если вам действительно нужно событие click, вы можете попробовать подключить слушателя к основному элементу DOM объекта поля:

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

Однако я не могу утверждать, что знаю, насколько успешным это будет.

Документацию по событию click Ext.Element можно найти по адресу:

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

2 голосов
/ 12 мая 2011
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");
      });            
    }}        
});

Это работает.

0 голосов
/ 03 июля 2010

ExtJs использует on, поэтому оно должно быть

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

Но вы также можете добавить его декларативно

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");
        }
    }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...