gpt4 book ai didi

javascript - 获取以编程方式定义的 TitlePane Id 以显示/隐藏

转载 作者:行者123 更新时间:2023-12-02 17:38:37 25 4
gpt4 key购买 nike

我对 Dojo 很陌生,这就是我正在尝试做的事情。我有一个标题 Pane ,它是使用以下代码以编程方式声明的:

     var pane = this._createTitlePane(config.widgets.title,  config.widgets.position, 
config.widgets.open);

_createTitlePane: function (title, position, open, optclass) {
var tp = new TitlePane({
title: title,
open: open
}).placeAt(this.sidebar, position);
domClass.add(tp.domNode, 'titlePaneBottomFix titlePaneRightFix');
if (optclass) {
domClass.add(tp.domNode, optclass);
}
tp.startup();
return tp;
},

稍后,我尝试使用 esri.hide 单击按钮时隐藏此标题 Pane 。我的问题是如何获得对此标题 Pane 的引用?定义时没有Id。当我查看 chrome 调试器时,我看到下面的行突出显示了该小部件

  <div class="titlePaneBottomFix titlePaneRightFix dijitTitlePane" title="" role="group"    id="dijit_TitlePane_1" widgetid="dijit_TitlePane_1">

如果我尝试执行类似 esri.hide(dojo.byId("dijit_TitlePane_1")) 的操作,则会隐藏该小部件。但是我可以使用这个小部件 ID 来引用标题 Pane 吗?

最佳答案

您可能只想在函数中为标题 Pane 指定其自己的 id:

_createTitlePane: function (title, position, open, optclass, paneId) {
var tp = new TitlePane({
title: title,
id: paneId, // TitlePane id here
open: open
}).placeAt(this.sidebar, position);
domClass.add(tp.domNode, 'titlePaneBottomFix titlePaneRightFix');
if (optclass) {
domClass.add(tp.domNode, optclass);
}
tp.startup();
return tp;
}

然后您可以使用以下方式引用它并隐藏它:

esri.hide(dijit.byId("theIdYouGaveIt").domNode);

要了解 dojo.byId 和 dijit.byId 之间的区别,此 link可能有帮助。

关于javascript - 获取以编程方式定义的 TitlePane Id 以显示/隐藏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22411372/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com