In the API documentation, addListener method accepts four arguments

PHP Code:
el.on('click'this.onClickthis, {
    
singletrue,
    
delay100,
    
forumId4
}); 
The fourth argument can contain custom options (like forumID in the above example).
But, when the handler function is called, the customs options are not passed.

Example:

PHP Code:
Ext.onReady(function(){
    
    var 
myButton = new Ext.Button({
            
text'Click Me'
    
});

    var 
onClick = function (observableeoptions) {
        
console.log(options);
    };

    
myButton.on('click'onClickmyButton, {myArgument:'Custom'}); 
    
myButton.render(document.body);
}); 
Firebug returns undefined for options

This bugs comes from the Ext.util.Observable.prototype.fire method (Observable.js)

PHP Code:
        fire : function(){
            var 
ls this.listenersscopelen ls.length;
            if(
len 0){
                
this.firing true;
                var 
args = Array.prototype.slice.call(arguments0);
                for(var 
0leni++){
                    var 
ls[i];
                    if(
l.fireFn.apply(l.scope||this.obj||windowarguments) === false){
                        
this.firing false;
                        return 
false;
                    }
                }
                
this.firing false;
            }
            return 
true;
        } 
It should be

PHP Code:
        fire : function(){
            var 
ls this.listenersscopelen ls.length;
            if(
len 0){
                
this.firing true;
                var 
args = Array.prototype.slice.call(arguments0);
                for(var 
0leni++){
                    var 
ls[i];
                    
args.push(l.options);   // options are appended to args array
                    
if(l.fireFn.apply(l.scope||this.obj||windowargs) === false){  // args instead of arguments
                        
this.firing false;
                        return 
false;
                    }
                }
                
this.firing false;
            }
            return 
true;
        }