在D3中,我已綁定一個節點上的鼠標按下事件的功能我想執行:如何訪問原始事件對象時D3事件綁定
let node = gA.svg.selectAll('.node').data(gA.force.nodes(), gA.node_id)
let node_group = node.enter().append('g')
.classed('node', true)
.call(gA.drag)
node_group.append('circle')
.classed('node-circle', true)
// we may consider adding the position too. it will get updated on the
// next tick anyway, so we will only add it here if things look glitchy
.attr('r', gA.node_radius)
.on(gA.circle_events)
.on('mousedown', mousedown)
.on('mouseup', mouseup)
只有最後一行是真正的與此有關。這和我使用d3的事實。
但現在當我定義我的鼠標鬆開功能...
function mouseup(datum, something1, something2) {
alert("But where is the Event object? :( :'( ")
}
數據是綁定到SVG「圓圈」的數據。 something1似乎是鼠標相對於元素的x位置(我最好猜測)。而東西2似乎是y位置。
但是,如何訪問該事件?我需要訪問Event.clientX。
我可能可以做到這一點。如果我可以訪問svg圈子,我可以尋找它的「頂部」和「左側」屬性來獲得它的位置。但我不知道如何訪問它。只有數據。 – mareoraft