-
9 Mar 2012 10:09 AM #1
Unanswered: Ext. 4 menu event
Unanswered: Ext. 4 menu event
hi,
I have a menu question:
A dummy custom menu is defined as such. Inside the menu, the click event is captured and fired.
Code:Ext.define("Ext.csx.LeftMenu", { extend: "Ext.menu.Menu", alias: 'widget.leftmenu', minHeight: 200, width: 300, listeners: { 'click': function (menu, item) { console.log(item.text); this.fireEvent('navclick', this, item.text); } }, initComponent: function () { var me = this; me.items = [{ text:"test 1" }, { text: "test 2" }]; me.callParent(arguments); this.addEvents('navclick'); }, });
Then in a separate panel, I try to catch the menu click event. It fails every single time. Why?
Code:Ext.onReady(function () { Ext.create('Ext.panel.Panel', { margin: '0 0 10 0', floating: false, // usually you want this set to True (default) renderTo: Ext.getBody(), items: [ { xtype: 'leftmenu', id: 'app-navtree', listeners: { 'navclick': function () { console.log('caught you'); } } } ] }); });Last edited by mitchellsimoens; 9 Mar 2012 at 11:31 AM. Reason: added [CODE] tags
-
9 Mar 2012 11:32 AM #2Sencha - Senior Forum Manager
- Join Date
- Mar 2007
- Location
- St. Louis, MO
- Posts
- 33,656
- Vote Rating
- 435
- Answers
- 3108
The listeners from when you create the instance is removing the listeners when you used Ext.define. I have a blog post about this particular thing: http://mitchellsimoens.com/2011/12/e...-property-bad/
Mitchell Simoens @SenchaMitch
Sencha Inc, Senior Forum Manager
________________
http://www.JSONPLint.com - Source to lint your JSONP!
Check out my GitHub, lots of nice things for Ext JS 4 and Sencha Touch 2
https://github.com/mitchellsimoens
Think my support is good? Get more personalized support via a support subscription. https://www.sencha.com/store/
Need more help with your app? Hire Sencha Services services@sencha.com
Want to learn Sencha Touch 2? Check out Sencha Touch in Action that is almost in print!
When posting code, please use BBCode's CODE tags.
-
9 Mar 2012 11:45 AM #3


Reply With Quote