有没有办法在不使用的情况下访问事件目标(DOM 元素)this
?我在一个对象内部,我想this
绑定到对象本身。全局d3.event
显然不存储目标 -d3.event.target
不起作用。有什么线索吗?
编辑:这是我正在运行的代码(它是咖啡脚本):
@nodes = @svg.selectAll('g.node')
.data(@nodes, (d) -> d.key)
.enter()
.append('g')
.attr('class', 'node')
.attr('transform', (d) => "translate(#{@x d.x},#{@y d.y})")
@nodes.append('svg:rect')
.attr('width', @x 100)
.attr('height', @y 50)
node_drag = d3.behavior.drag().origin(Object).on('drag', @drag_move)
@nodes.call node_drag
drag_move: (d, i) ->
console.log d3.event.target
浏览器控制台输出是
function e(){this.on("mousedown.drag",t).on("touchstart.drag",t)}
如果我添加一条debugger
语句并手动检查对象,也是一样。由于某种原因d3.event.target
返回一个函数而不是事件对象。