【问题标题】:How to selectively pass mouse events to underlying svg elements如何有选择地将鼠标事件传递给底层 svg 元素
【发布时间】:2015-11-21 23:50:04
【问题描述】:

我有一个散点图,带有用于放大数据的画笔层和用于鼠标悬停捕捉的 voronois,但问题是 voronoi 路径不会让点击事件落入画笔层,或者如果将画笔保持在顶部它不会'不允许悬停事件通过 voronoi 层

画笔层需要点击事件

Voronoi 层需要悬停事件

我应该如何进行设置,最好只使用 css 解决方案

保持画笔层在顶部:

将 voronoi 层保持在顶部:

【问题讨论】:

  • 最好的情况是两层都收到所有事件
  • 不可能只有 CSS。
  • 我用js做了点东西,但是感觉不流畅

标签: javascript jquery css d3.js svg


【解决方案1】:

我在 voronoi 悬停时将画笔保持在底部,但它在边缘闪烁

$("#visualization-main-container > svg > g.voronoiWrapper > path.voronoi-poly").css("pointer-events", "all");

setTimeout(function() {
    $("#visualization-main-container > svg > g.voronoiWrapper > path.voronoi-poly.voronoi-movie-id-" + d.id).css("pointer-events", "none");
}, 10);

编辑:

我最终使用热键“CTRL”在按下 voronoi 层时暂时禁用鼠标事件,它为缩放过程增加了一个额外的步骤,但它更平滑。

【讨论】:

  • 如果您对此不满意,为什么要将其发布为答案?这不应该是我尝试过的问题的一部分,但我对此不满意......
  • 对不起,堆栈溢出相对较新,仍在学习元数据,但我没有接受答案,根据我的说法,它只是一个可能的解决方案
猜你喜欢
  • 1970-01-01
  • 2021-06-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-10-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多