这是一个非常具体且有些复杂的问题,因此我设置了一个最小的测试用例,您可能应该在阅读其余部分之前看到它。
我的页面通过Raphaël显示带有突出显示区域的图像。我也一直在努力为这些悬停添加Tipsy 工具提示,这样你就可以看到图像的每个部分被称为什么。
Raphaël 使用 SVG 绘制突出显示的区域,并且由于 SVG 元素也是 DOM 节点,因此将 Tipsy 附加到它们上很容易完成,如下所示:
// Get the path node as a jQuery object.
pathNode = $(path.node);
// Set the title so it's available to tipsy.
pathNode.attr('title', element.title);
// Add a Tipsy tooltip to each node, if Tipsy is loaded.
if ($.fn.tipsy) {
pathNode.tipsy({
fade: true
});
}
这个问题美中不足,这个问题的原因是Tipsy在屏幕顶部(坐标0,0)而不是SVG节点旁边绘制工具提示,我不知道如何修理它。在调试 Tipsy JavaScript 时,它似乎在某个点上有坐标,但仍然无法在正确的位置绘制。
任何人都可以弄清楚吗?(有关详细信息,请参阅最小测试用例)。