用d3.鼠标拖动元素(这个)会导致元素闪烁



我在一个相对定位的div中有一条绝对定位的引线。当鼠标使用d3移动时,我需要水平移动引线。由于d3.event要求元素位于g元素内,因此我尝试使用d3.mouse来移动引导线。然而,拖动行为非常不稳定,并且闪烁过多。我似乎不明白是什么原因造成的。

var drag = d3.behavior
.drag()
.on('drag', function(event) {
dragMoveNew(this);
})
d3.select(".grid").call(drag);
function dragMoveNew(elem) {
var x = d3.mouse(elem)[0];
$(elem).css('left', x);
}

这是jsfiddle链接

https://jsfiddle.net/u4koenra/

使用d3.event.x

function dragMoveNew(elem) {
//var x = d3.mouse(elem)[0];
var x = d3.event.x;
$(elem).css('left', x);
}

最新更新