首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用Dojo链接到特定的选项卡/内容窗格

使用Dojo链接到特定的选项卡/内容窗格
EN

Stack Overflow用户
提问于 2011-06-17 00:41:32
回答 1查看 2.3K关注 0票数 1

我想从一个html站点上的链接导航到另一个有两个不同选项卡的TabContainer所在的位置。

我在目标html文件中默认选择了一个选项卡(我想保留它)。

我怎么才能把链接放进去才能正常工作呢?我在网上找到了几个文档,但都不起作用。所以也许有人需要用愚蠢的方式向我解释这件事。

以下是目标TabContainer:

代码语言:javascript
复制
<div dojoType="dijit.layout.TabContainer" region="center" tabStrip="true">
<div dojoType="dijit.layout.ContentPane" title="Contact" selected="true">
some text
</div>
<div dojoType="dijit.layout.ContentPane" title="Imprint" selected="true">
some text
</div>

我想放置一个链接,以自动导航到标题“印记”。

有人能帮帮忙吗?

非常感谢和所有最好的TTP

EN

Stack Overflow用户

发布于 2011-06-17 03:29:29

您可以从javascript中选择它,或者从您的服务器中为选项卡生成标记,并将selected属性设置为true (您需要将另一个属性设置为false)。第二种选择取决于您的服务器技术。

对于第一个选项,将ids添加到容器和选项卡中,并在页面加载完成时选择选项卡。类似于:

代码语言:javascript
复制
<div id="tabContainer" dojoType="dijit.layout.TabContainer" region="center" tabStrip="true">
  <div id="tab1" dojoType="dijit.layout.ContentPane" title="Contact" selected="true">
    some text
  </div>
  <div id="tab2" dojoType="dijit.layout.ContentPane" title="Imprint" selected="false">
    some text
  </div>
</div>

<script>
  dojo.ready(function() {
    dijit.byId('tabContainer').selectChild(dijit.byId('tab2'));
  });
</script>

如果您想动态选择这两个选项卡,则需要将URL中的某种参数传递给您的页面。您可以使用查询参数( ?符号后面的变量)或散列片段(#之后的任何内容)。查询参数你可以从服务器和javascript中读取。散列片段,仅来自javascript。

您可以通过检查location对象来访问这些参数。例如,使用散列片段,您可以像http://host/page.html#imprint一样链接到您的页面。然后在上面的<script>标记中:

代码语言:javascript
复制
<script>
  dojo.ready(function() {
    if (location.hash == '#imprint') {
      dijit.byId('tabContainer').selectChild(dijit.byId('tab2'));
    }
  });
</script>

有关查询参数,请参阅dojo.queryToObject()

票数 0
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6375485

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档