如何在 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 是正确的。
我记得看到这样的事情,但我忘了。有人可以帮我解决这个问题吗?
答案 0 :(得分:2)
在事件处理程序中,this
应该是触发事件的DOM元素。
或者,您可以通过d3.event
属性访问事件处理程序中的原始DOM事件,然后从那里获取DOM元素。