我正在尝试在一系列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。
答案 0 :(得分:0)
在创建selector
时使用Menu
属性时,我遇到了同样的问题。在SVG元素中,元素选择器(甚至是逗号连接的选择器)都可以工作,而类选择器则不能。在SVG元素之外,它们工作得很好。您可以通过在浏览器控制台中使用dojo.query
来解决此问题,以查看选择了哪些元素。
我可以通过更改dojo配置中的selectorEngine
来解决此问题。使用css3
,css2.1
和css2
中的任何一个都有效,因此我认为问题可能出在acme
引擎中。如果还没有dojo配置,则可以通过脚本标签添加它:
<script>
var dojoConfig = {
selectorEngine: 'css3',
};
</script>