D3js v4。如何确定自定义事件?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了D3js v4。如何确定自定义事件?相关的知识,希望对你有一定的参考价值。

我想通过自定义“点击+删除”事件删除svg元素。我知道如何确定click事件,以及ctrlKey,shiftKey,altKey,metaKey等事件。但我想使用其他键。做正确的方法是什么?

答案

你将需要听两个不同的事件来实现这一点,特别是keydownkeyup事件。让我们假装我们有一个圆圈:

const DELETE_KEYCODE = 46;
let deletePressed = false;

d3.select("svg")
  .selectAll("circle")
  .on("keydown", () => { deletePressed = d3.event.keyCode === DELETE_KEYCODE; })
  .on("keyup", () => { deletePressed = false; })
  .on("click", (d, i, elements) => {
      if (deletePressed) {
         d3.select(elements[i]).remove();
      }
  });

现在实际上你可能希望keyup更加智能,如果他们按下几个键并且没有keyup删除!但我会让你解决这个问题。

以上是关于D3js v4。如何确定自定义事件?的主要内容,如果未能解决你的问题,请参考以下文章

自定义对话框片段

d3js V4 力导向图

为动态创建的 Android 片段提供自定义属性值

html D3byEX 9.6:甜甜圈片段(改编自D3.js v4)

VSCode自定义代码片段——CSS选择器

如何在 Toad for Oracle 中使用自定义代码片段?