javascript - 将指针事件限制为 SVG 文本填充

标签 javascript css svg d3.js data-visualization

我需要将 SVG 元素中的指针事件限制为仅填充文本。我不希望指针事件在用户位于文本周围的矩形中时触发,但仅当光标实际位于字符本身内部时才触发。 SVG 指针事件“填充”应该可以工作,但由于某些原因不能。谁能告诉我为什么不,或者什么可以代替?

在下面的示例中(此处为 jsfiddle:http://jsfiddle.net/rgfdudst/),指针事件在光标位于单词之间时被激活。我希望指针事件仅在鼠标直接位于字符填充上方时触发:

HTML

<svg xmlns="http://www.w3.org/2000/svg" width="400px" height="100px">
  <text x="10"  y="40">
    SVG text styling
  </text>
</svg>

CSS 文本 { 指针事件:填充; 填充:红色; 字体大小:50px; 字体系列:宋体;

text:hover {
  cursor: pointer;
  fill: blue; 
}

最佳答案

我认为您必须使用路径 来定义您的文本。并将您的悬停样式附加到那些路径

text 区域是一个矩形,因此您的事件将在您进入该矩形时触发。

关于javascript - 将指针事件限制为 SVG 文本填充,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29151105/

相关文章:

javascript - 停止在 JavaScript 中触发 onfocus 事件

javascript - 如何在 Typescript 中调用 $element

javascript - 错误 = "TypeError: Object [object Object] has no method ' addUnique'\n 在 main.js :33:12"; Cloud code parse. com

html - 字体不会在输出中改变

css - div样式继承问题

javascript - 如何使用 jQuery 找到元素的绝对位置?

php - 相同的 CSS 在两个页面中显示不同的字体

javascript - d3 轴位于 [0,1] 域中

html - SVG 在 IE9 中无法正常工作

javascript - SVG路径 'D'属性半圆进度