在d3.js中获取触发事件的元素

时间:2018-08-29 15:40:54

标签: javascript d3.js

如何在 d3.js 中获取触发事件的元素?

例如,我可以拥有这样的代码。

const element = d3.select("#elementId");
element.on("mousedown", function(){element.text("element was clicked");});

现在,我想避免直接在function(){element.text("element was clicked");}中使用 元素。

我希望得到类似function(){getElementFromContextSomehow.text("element was clicked");}的内容,其中 getElementFromContextSomehow === element 是正确的。

我记得看到这样的事情,但我忘了。有人可以帮我解决这个问题吗?

1 个答案:

答案 0 :(得分:2)

在事件处理程序中,this应该是触发事件的DOM元素。

或者,您可以通过d3.event属性访问事件处理程序中的原始DOM事件,然后从那里获取DOM元素。