SVG 要素( rect 要素)をマウスのドラッグで動かせるようにしました。mouseup、mousemove 時のイベントハンドラは document 要素に設定しました。
mousedown 時のイベントハンドラは、ソースの draggable 関数を使って svg 要素に設定します。そのとき、element.preventDefault(); でイベントを上流に送らないようにするのがミソです。これがないとデフォールトのマウスドラッグ時にゴーストが現れて、マウスに対する反応がおかしくなります。
上の rect 要素をドラッグしてみてください。ソースは各ブラウザの開発ツールで見ることができます。