I\'m trying to use d3.js\'s d3.behavior.drag() drag event to update my data model (without setting the element position immediately), then run my \
Nautat provided good solution for your case.
My case is slightly more complicated. My data is bound below g-node I want to transform. In this case I cannot simply move .call(drag) to g-level.
I submitted a pull request to make base coordinate space customisable: https://github.com/mbostock/d3/pull/1055