This post describes how to build a draggable circular packing with d3.js. It is possible to drag a circle on the chart, with position of every other circles updating automatically. See more circular packing example in the dedicated section.
It just shows how to add a dragging features to the nodes.
Each time you use your mouse to drag one of the circle, a set of functions are triggered to run the simulation algorithm and position the circles at a position respecting the force constraints.