Wie kann ich programmatisch ein Ereignis auslösen, auf einem panel?
Habe ich, je nach Menü.
Klickt der Benutzer auf den Header des panels und einer region in der Mitte verpasst, dass es funktioniert.
Aber ich will immer programmgesteuert klicken Sie auf die Platten, z.B. so, dass ich hyperlinks im text, die sich öffnen und den Platten, gerade als ob der Benutzer geklickt auf Sie.
Wie kann ich ein Ereignis auslösen, klicken Sie programmgesteuert auf eine Platte in meinem Akkordeon-Menü, so etwas wie dieses:
Ext.select('span#internal_link_001').on('click', function() {
Ext.getCmp('panelApplication').trigger('click'); //error "trigger is not a function"
});
Akkordeon-Menü-code:
Ext.onReady(function(){
menuItemStart = new Ext.Panel({
id: 'panelStart',
title: 'Start',
html: 'This is the start menu item.',
cls:'menuItem'
});
menuItemApplication = new Ext.Panel({
id: 'panelApplication',
title: 'Application',
html: 'this is the application page',
cls:'menuItem'
});
menuItemModules = new Ext.Panel({
id: 'panelModules',
title: 'Modules',
layout: 'card',
html: 'this is the modules page',
cls:'menuItem'
});
menuItemSettings = new Ext.Panel({
id: 'panelSettings',
title: 'Settings',
layout: 'card',
html: 'this is the settings page',
cls:'menuItem'
});
var regionMenu = new Ext.Panel({
region:'west',
split:true,
width: 210,
layout:'accordion',
layoutConfig:{
animate:true
},
items: [ menuItemStart, menuItemApplication, menuItemModules, menuItemSettings ]
});
....
Du musst angemeldet sein, um einen Kommentar abzugeben.
Warum nutzen Sie nicht die entsprechende Komponente features:
trigger
aber ich kann es nicht finden.click
Veranstaltung selbst (component.fireEvent(...)
) oder Sie können low-level-DOM-Funktionen, die zum auslösen eines echte auf:element.dom.click()
(daelement
ist einExt.Element
). Aber das ist ungetestet, und ich glaube nicht, dass dies führe zu einer stabilen Lösung - aber vielleicht ist es ein Ausgangspunkt.