ko.mapping with template foreach
http://stackoverflow.com/questions/10149239/knockoutjs-and-mapping-plugin-specific-logic-on-data-update-using-template-after
HTML
<script src="https://github.com/downloads/SteveSanderson/knockout/knockout-2.0.0.debug.js"></script>
<script src="https://raw.github.com/SteveSanderson/knockout.mapping/master/build/output/knockout.mapping-latest.debug.js"></script>
<svg height="400" width="600"></svg>
JavaScript
var drag1 = d3.behavior.drag()
.on("drag", dragmove)
.on("dragend", function () { alert("drag ended"); });
var g = d3.select("body").select("svg").append("g")
.data([{ x: 50, y: 50 }]);
g.append("rect")
.attr("width", 40)
.attr("height", 40)
.attr("x", function (d) { return d.x; })
.attr("y", function (d) { return d.y; })
.call(drag1);
function dragmove(d) {
d3.select(this)
.attr("x", d.x = d3.event.x)
.attr("y", d.y = d3.event.y);
}