dijit.TitlePane 是否有 "onExpand" 事件或类似事件?

Is there a "onExpand" event or similar for dijit.TitlePane?

有什么方法可以在dojo-dijit 的TitlePane 展开时得到事件回调吗?

我可以捕获 TitlePane 上的 onClick。但是,这对我来说还不够。我有一个用于 "Expand All" TitlePanes 的按钮。当用户点击它时,我会遍历所有 TitlePanes 并调用它的 toggle() 方法。发生这种情况时,不会触发 onClick 事件(如预期的那样)。我想知道是否有任何事件在 toggle() 上触发。

或者任何其他解决它的聪明方法也将不胜感激。

在详细查看文档后,我认为在 toggle/expand 期间没有触发任何内置事件。我最终触发了一个自定义事件,这帮助我得到了我想要的东西。

这个答案对我有帮助 - https://whosebug.com/a/12852043/3810374

基本上,

首先使用 isOpen() 方法,确保标题窗格尚未展开。然后调用 toggle() 方法,并像这样触发一个自定义事件:

require(["dojo/on"], function(on){
  // Send event
  on.emit(target, "onExpand", {
    bubbles: true,
    cancelable: true
  });
});

然后处理事件:

require(["dojo/on"], function(on){
  // register event handler
  on(target, "onExpand", function(e){
      // handle event
  });
});

您可能想知道,为什么不在 toggle() 之后立即进行工作,而不是经历 firing/handling 事件的痛苦。我需要在特定的闭包中处理事件,我可以在其中访问其他 objects 和变量。