如何在dojo tabcontainer中禁用单个选项卡

时间:2010-02-19 06:16:03

标签: dojo

我想在dojo的tabcontainer中禁用单个标签。

7 个答案:

答案 0 :(得分:5)

以下是我解决此问题的方法:

dojo.style(dijit.byId("tabID").controlButton.domNode,{display:"none"});

dojo.style(dijit.byId("tabID").controlButton.domNode,{display:"inline-block"});

出于某种原因,更改disabled属性或调用setDisabled对我没有任何作用。

答案 1 :(得分:1)

答案 2 :(得分:1)

dijit.byId('tab')。controlButton.domNode.disabled = true

答案 3 :(得分:1)

我在另一个帖子中回答了这个问题。基本上它涉及到让jQuery参与其中。对我来说很棒。我有静态创建的所有选项卡(而不是以编程方式),我可以通过jQuery的帮助来操作它们是显示还是隐藏。所有代码都在我的帖子中:

How do I dynamically show and hide an entire TabContainer using DOJO?

答案 4 :(得分:0)

您可以覆盖其默认css以使标签栏不可见。

答案 5 :(得分:0)

dojo.attr(dijit.byId('tab'), "disabled", true);
dijit.byId('tab').onClick = function () { };

答案 6 :(得分:0)

您可以通过设置窗格的disabled属性来禁用标签: 资料来源:https://dojotoolkit.org/reference-guide/1.10/dojo/dom-style.html

pane.set("disabled", true);

示例:

<div data-dojo-type="dijit/layout/TabContainer" style="width: width: 350px;     height: 200px">
    <div data-dojo-type="dijit/layout/ContentPane" title="My first tab" data-    dojo-props="selected:true">
        Lorem ipsum and all around...
    </div>
    <div data-dojo-type="dijit/layout/ContentPane" id="second" title="My second     tab">
        Lorem ipsum and all around - second...
    </div>
    <div data-dojo-type="dijit/layout/ContentPane" title="My last tab" data-    dojo-props="closable:true">
        Lorem ipsum and all around - last...
    </div>
</div>

<script type="dojo/require">
    registry: "dijit/registry"
</script>
<button type=button onclick="registry.byId('second').set('disabled',     !registry.byId('second').get('disabled'));">
    toggle tab #2 disabled
</button>

这里唯一的问题是用户看不到它们无法点击它。 你可以使用这些额外的CSS选择器:

.dijitTab.dijitDisabled { 
    cursor: not-allowed !important;
}

.dijitTab.dijitDisabled > .tabLabel{
    cursor: not-allowed !important;
}