You're on the right track, just not quite there. The controller's task is to manage components, not elements. If you want to make the mouseover event for an element accessible at the component level, just reinstall it as a separate mypanelmouseover event and use it in Controller control ().
Nice and neat.
EDIT :
Here's how to do it:
Ext.define('My.Panel', { extend: 'Ext.panel.Panel', constructor: function(config) { var me = this; me.callParent(arguments); me.addEvents( 'mypanelmouseover' ); }, afterRender: function() { var me = this; me.callParent();
Hope this helps. The basic idea is to stay declarative and separate your code instead of creating an unreadable callback chain. A good side effect is that you control the situation and can decide which events you want to recover, and when and how to respond to them.
source share