在 GWT 中动态添加时,使用标题在 SVG object 上显示工具提示不起作用
Using title to display tooltip on SVG object doesn't work when added dynamically in GWT
我正在使用 GWT 2.6.1(+ GWT 图形)并尝试绘制 SVG objects 并在每个上显示工具提示,如下所示:
Point point = new Point(100, 100);
Circle reading = new Circle(point.getX(), point.getY(), 3);
reading.setFillColor("#000");
final String infoTip = "120 bpm";
Element titleElement = DOM.createElement("title");
titleElement.setInnerText(infoTip);
reading.getElement().appendChild(titleElement);
现在虽然 SVG 圆绘制正确,但工具提示不起作用。我尝试将生成的 html 粘贴到静态 html 文件中并且效果很好,所以这与将标题元素动态添加到圆圈有关我猜但不知道如何解决它.
我尝试在延迟操作中添加标题元素:
Scheduler.Get().ScheduleDeferred(...)
并且我已经尝试将其添加到 onLoad 中:
Event.sinkEvents(reading.getElement(), Event.ONLOAD);
Event.setEventListener(reading.getElement(), new EventListener(){});
但运气不好。
DOM.createElement()
将在 HTML 命名空间中创建元素。您的 <title>
元素需要位于 SVG 命名空间中。
您将需要使用本机 JS DOM 方法来执行此操作。请参阅 Jared Garst 对其他问题的回答:
Using SVG in GWT
我正在使用 GWT 2.6.1(+ GWT 图形)并尝试绘制 SVG objects 并在每个上显示工具提示,如下所示:
Point point = new Point(100, 100);
Circle reading = new Circle(point.getX(), point.getY(), 3);
reading.setFillColor("#000");
final String infoTip = "120 bpm";
Element titleElement = DOM.createElement("title");
titleElement.setInnerText(infoTip);
reading.getElement().appendChild(titleElement);
现在虽然 SVG 圆绘制正确,但工具提示不起作用。我尝试将生成的 html 粘贴到静态 html 文件中并且效果很好,所以这与将标题元素动态添加到圆圈有关我猜但不知道如何解决它.
我尝试在延迟操作中添加标题元素:
Scheduler.Get().ScheduleDeferred(...)
并且我已经尝试将其添加到 onLoad 中:
Event.sinkEvents(reading.getElement(), Event.ONLOAD);
Event.setEventListener(reading.getElement(), new EventListener(){});
但运气不好。
DOM.createElement()
将在 HTML 命名空间中创建元素。您的 <title>
元素需要位于 SVG 命名空间中。
您将需要使用本机 JS DOM 方法来执行此操作。请参阅 Jared Garst 对其他问题的回答:
Using SVG in GWT