d3-drag
Drag-and-drop
是一种易学流行的交互手势:将指针指向目标对象,按下并且拖动它到一个新的位置,然后释放。D3 的 drag 提供了方便灵活并且抽象的拖拽交互。
例子 🌰:
◎ d3.drag()
创建一个新的拖拽行为并返回自身。drag
既是一个对象,也是一个函数,通常通过 selection.call
被应用在选中的元素上。
var drag = d3.drag();
◎ drag(selection)
将拖拽应用到指定的 selection
。通常不用这个方法来应用拖拽,而是通过 selection.call
。例如,将拖拽实例应用到一个选择集上:
d3.selectAll(".node").call(d3.drag().on("start", started));
在内部拖拽行为使用 selection.on
将拖拽必需的事件绑定到元素上,事件名称都带有 .drag
,因此可以使用这个特殊的事件名来解绑拖拽事件:
selection.on(".drag", null);
◎ drag.container([container])
如果指定了 container
,则将拖拽行为的容器访问器设置为指定的对象或方法。如果没有指定 container
,则返回当前的容器访问器,默认为:
function container() {
return this.