问题迎刃而解==使用d3.drag(),并使用D3-drag.v1.min.jsD3js:无法设置)拖动行为棋子代替d3.behaviour.drag(
我已经建立了一个使用D3js的SVG棋盘,用于循环遍历每行和每列。我使用unicode作为棋子,因此每个棋子都是svg元素。
我想拖动D3js的拖动行为的棋子,但不可能。
所有棋子都有“可拖动”类。于是,我产生的阻力,并将其与类连接到的所有元素“拖动”
var drag = d3.behavior.drag()
.origin(function() {
var t = d3.select(this);
return {x: t.attr("x"), y: t.attr("y")};
})
.on("dragstart", function() {
d3.event.sourceEvent.stopPropagation(); // silence other listeners
})
.on("drag", function(d,i) {
d3.select(this)
.attr("x", d3.event.x)
.attr("y", d3.event.y);
});
d3.selectAll(".draggable").call(drag);
我完整的代码是在这里http://codepen.io/linhnt1516/pen/ZeGoNj?editors=0011
另外,我还试图用同样的拖动功能方面与其他和SVG元素例子。查看此代码笔http://codepen.io/linhnt1516/pen/VpvobE?editors=0011并拖动文本和框。
我一直在寻找大量的D3js拖动例子,但没有一个与棋子的情况下工作。
任何人都有任何解决方案或想法在这里可能出现问题。
这是拖动。确切的问题是什么? –
@GerardoFurtado嘿,谢谢你的提问。我已经找出了问题。所以代码被更新。拖动行为现在很好。顺便说一句,现在我想将这件作品移到一个新的地方,当作品在一个正方形上时,该正方形会得到一个新的突出边框。所以每个广场都有一个事件触发,当一块移动它时。任何建议?谢谢。 –
如果您有其他问题,请发表其他问题。并非所有人都阅读评论。 –