vuelven una semana raiz porque pestañas las hago hacer dermatologo crecer corte como cayeron caen arrancan arrancadas javascript dojo

javascript - una - porque se caen las pestañas dermatologo



¿Dojo TabContainer tiene un evento que se activa cuando se cambian las pestañas? (4)

Además de la respuesta de @ phusick, que es correcta, todos los StackContainer , incluido el TabContainer publican sobre temas a los que puede suscribirse.

http://dojotoolkit.org/reference-guide/1.7/dijit/layout/StackContainer.html#published-topics

[widgetId]-addChild, [widgetId]-removeChild [widgetId]-selectChild

http://dojotoolkit.org/reference-guide/1.7/dojo/subscribe.html#dojo-subscribe

¿DOJO TabContainer tiene un evento que se activa cuando se cambian las pestañas?

Me imagino que lo haría, pero no pude encontrar nada al respecto en la documentación. :(

RESUELTO: Parece que encontré una solución aquí:

Dijit TabContainer Events - onFocus

no es el título del tema más buscable: /


Aquí hay un ejemplo de código completo que funciona en Dojo 1.8, lo he probado. No es un evento que se dispara solo al cambiar las pestañas, no pude obtener ninguno de sus eventos en la API para disparar, pero al menos funciona en el evento Click.

require(["dijit/registry", "dojo/on", "dojo/ready", "dojo/domReady!"], function (registry, on, ready) { ready(function () { //wait till dom is parsed into dijits var panel = registry.byId(''mainTab''); //get dijit from its source dom element on(panel, "Click", function (event) { //for some reason onClick event doesn''t work $(''.hidden_field_id'').val(panel.selectedChildWidget.id); //on click, save the selected child to a hidden field somewhere. this $ is jquery, just change it to ''dojo.query()'' }); }); }); //include this function if you want to reselect the tab on page load after a postback require(["dijit/registry", "dojo/ready", "dojo/domReady!"], function (registry, ready) { ready(function () { var tabId = $(''.hidden_field_id'').val(); if (tabId == null || tabId == "") return; var panel = registry.byId(''mainTab''); var tab = registry.byId(tabId); panel.selectChild(tab); }); });


De los documentos;

var tabs = registry.byId(''someTabs''); tabs.watch("selectedChildWidget", function(name, oval, nval){ console.log("selected child changed from ", oval, " to ", nval); });


Conecte aspect.after al método selectChild de selectChild :

var tabContainer1 = registry.byId("tabContainer1"); aspect.after(tabContainer1, "selectChild", function() { console.log("tab changed"); });

O si está interesado en una pestaña en particular, conéctese a _onShow su ContentPane:

var contentPane1 = registry.byId("contentPane1"); aspect.after(contentPane1, "_onShow", function() { console.log("[first] tab selected"); });

Véalo en acción en jsFiddle: http://jsfiddle.net/phusick/Mdh4w/