更改raphael对象的title属性

时间:2015-07-13 03:21:33

标签: html tooltip raphael customization title

我正在使用raphael.js进行绘制,我想修改title属性(更改颜色,字体大小等)。

circle.attr({
    title: 'This is a circle.',
    fill: 'red'
});

这是我的jsfiddle

有办法做到这一点吗?或者可以为raphael对象添加自定义工具提示? 编辑:这是一个预期的修改:我想在我的工具提示上打印" Hello World" " Hello" 为红色,然后是"新行" 字符,最后是" World&#34 ; 为蓝色。

这不起作用,但可能有助于了解我想要做的事情。

circle.attr({
    title:"<font color="red">Hello</font><br><font color="blue">World!</font>"
});

1 个答案:

答案 0 :(得分:1)

Raphael没有这方面的速记函数,但您可以通过简单的DOM操作轻松更改渲染的SVG元素:

circle.node.onmouseover = function() {
    this.style.cursor = 'pointer'
    this.querySelector('title').textContent = 'This is a new title';
}
分叉(现在正在工作)小提琴 - &gt;的 http://jsfiddle.net/nheL8add/

更新:我现在意识到你实际上在问:“ HTML元素标题属性是否支持HTML ?” (我完全专注于改变标题元素,而不是“编辑”之后的部分)。答案是不。 circle元素的title属性与所有其他HTML元素中的任何其他title属性完全相同。但是您可以使用像qTip2或类似的工具提示脚本来获得所需的效果。我推荐qtip2,因为它支持<SVG>个元素。跳过circle元素本身的title属性,改为使用qTip2:

$("#canvas circle").qtip({
  style: { classes: 'tooltip' },
  content: { text: '<font color="red">Hello</font><br><font color="blue">World!</font>' },
  position:{ my:'center center', at:'center center' },    
  show: 'mousemove mouseenter mouseover'    
});

另一个分叉的小提琴 - &gt;的 http://jsfiddle.net/ajLnhete/