Dojo工具提示附加到多个节点:元素选择器有效,但类选择器无效

时间:2019-06-03 14:47:58

标签: css-selectors dojo tooltip

我正在尝试在一系列SVG元素上使用dojo工具提示,这些元素是标题中的工具按钮。我正在使用将工具提示附加到多个节点的文档中的方法,如下所示:

new Tooltip({
    connectId: query('.header'),
    selector: 'svg',
    position: ['below'],
    getContent: function (e) {
        return e.getAttribute('data-tooltiptext');
    }
});

那行得通,但是如果我使用'.tool'的选择器(每个SVG上都有一个工具类),则不会调用getContent函数。 'svg.tool'也不用作选择器。该文档提供了几个围绕 claim 类选择器的示例,但是我只能使元素选择器起作用。

我需要使用“ dojo / query”,并且尝试使用“ dojo / query!css3”,但这似乎没有什么不同。我不知道它是否有作用,但是我正在使用ESRI's ArcGIS JS API library附带的dojo,它报告的dojo版本为1.14.2。

1 个答案:

答案 0 :(得分:0)

在创建selector时使用Menu属性时,我遇到了同样的问题。在SVG元素中,元素选择器(甚至是逗号连接的选择器)都可以工作,而类选择器则不能。在SVG元素之外,它们工作得很好。您可以通过在浏览器控制台中使用dojo.query来解决此问题,以查看选择了哪些元素。

我可以通过更改dojo配置中的selectorEngine来解决此问题。使用css3css2.1css2中的任何一个都有效,因此我认为问题可能出在acme引擎中。如果还没有dojo配置,则可以通过脚本标签添加它:

<script>
 var dojoConfig = {
     selectorEngine: 'css3',
 };
</script>