Foro

Disparar eventos manualmente

0
saludos a todos, Tengo un boton en un toolbar y quiero dispara el evento del boton manualemente pero me da error... adjunto codigo ejemplo:
{
id:'btn-1',
text: 'ejecutar',
listeners: { click: function(btn, evt){
    if(evt.property == 'mi valor') { 
        FnAEjecutar();
    }else {
        Fn2AEjecutar();
    }
    }// end function
   } // end listeners
}// end btn
en alguna parte en mi codigo esta
var btn = Ext.getCmp('btn-1');
// no se de donde sacar el objeto event
btn.fireEvent('click',btn);
y mi funcion de evento lanza un error diciendo que evt no esta definido como creo un objeto event, o como hago que se ejecute correctamente el evento del boton con todos sus parametros correctos
0
el problema es si estas utilizando de alguna forma alguna propiedad de evt. porque imagino que "evt.property" es un ejemplo que colocaste solamente ya que esa propiedad no existe en esa variable. cuando disparas el evento click con fireEvent, segun la documentacion en fireEvent primero pasas una cadena con el evento, en este caso 'click', y luego un objeto con propiedades que quieras usar dentro del evento disparado. en tu listener estas usando click(btn,[b]evt[/b]) para supuestamente tomar un valor del objeto [b]evt[/b]. por lo que podrías pasarle un objeto con la propiedad que usaras, en tu ejemplo "property". no se si esto te ayuda un poco. suerte
0
Por que no le pasas ese objeto? algo así:
var btn = Ext.getCmp('btn-1');
// no se de donde sacar el objeto event
btn.fireEvent('click',btn,{property:"mi valor"});
0
claro, yo se cual es el valor que necesito <!-- s:D --><!-- s:D -->, no se me habia ocurrido pense que siempre es el objeto event

¿Conoces a alguien que pueda responder esta pregunta? Comparte el link en Twitter o Facebook

Es necesario registrarse para poder participar en el foro! Si ya tienes una cuenta puedes entrar y comentar en este foro.