我可以从d3.event.x
内部访问on("drag"...)
,但x
内on("dragstart"...)
不存在;为什么?我怎么能以另一种方式得到它,最好不是非常hackish?
检查此示例的控制台输出:
d3.select("body").append("svg").append("rect")
.attr("width", 100)
.attr("height", 100)
.style("color", "black")
.call(
d3.behavior.drag()
.on("dragstart", function(){
console.log(d3.event);
})
.on("drag", function(){
console.log(d3.event);
})
.on("dragend", function(){
console.log(d3.event);
})
);
答案 0 :(得分:2)
这是预期的行为(见the documentation):
拖动事件(但不是dragstart和dragend事件)公开" x"和" y"表示当地坐标中拖动手势的当前位置的属性。
在实际拖动发生之前和之后触发开始和结束事件,即与第一个和最后一个drag
事件相比没有坐标变化。
答案 1 :(得分:2)