0

我在这里看到了答案,但我不明白它在没有固定元素“id”的情况下将工具提示附加到项目

我正在创建我的 Dojo 工具提示,如下所示:

<script>
require(["dijit/Tooltip", "dojo/domReady!"], function(Tooltip){
    new Tooltip({
        connectId: ["div_1_1_2_1_1_1_2"],
        label: "Please select a Country, Subsidiary before selecting a City."
    });
    new Tooltip({
        connectId: ["div_1_1_2_1_2_1_2"],
        label: "Please select a Country, Subsidiary before selecting a City."
    });
});
</script>

我的divID 已生成,因此我宁愿将工具提示绑定到另一个变量,例如我的属性:

data-viewid="Date_Time_Picker2"

这可能吗?

4

1 回答 1

3

您可以使用dojo/query按属性查找节点。根据dijit/Tooltip文档,connectId 可以是 id 或实际的 dom 节点引用。

HTML:

<body class="claro">
    <div><span data-viewid="attachATooltipToMe">Test one</span>
    </div>
    <div> <span data-viewid="attachATooltipToMe">Test two</span>
    </div>
    <div> <span data-viewid="attachATooltipToMe">Test three</span>
    </div>
</body>

JS:

require(['dojo/query', 'dijit/Tooltip', 'dojo/domReady!'], function (query, Tooltip) {

    var nodes = query('[data-viewid="attachATooltipToMe"');

    new Tooltip({
        connectId: nodes,
        label: "Please select a Country, Subsidiary before selecting a City."
    });
});

这会将工具提示附加到具有指定值为“attachATooltipToMe”的 data-viewid 属性的每个节点。

于 2013-10-24T13:29:02.977 回答