I am currently using Raphaël JS (open to switch to jQuery SVG) and the jQuery user interface to try to prototype a board game. This is somewhat similar to Risk, since the board is a map, and you can (hopefully soon) drag parts from one zone onto a map to another (say A to B) and drop them there. Once you reset, it will call a callback to do some work.
I'm stuck right now trying to get drag and drop functionality. I want to drag the html element (div) and transfer it to the SVG element. I am not very familiar with SVG, but from what I understand there are problems that need to be overcome in order to share HTML and SVG DOM.
I have two versions, and I'm trying to get the jQuery UI to drag onto any of them. One uses jQuery SVG with the svgdom plugin + jQuery interface, and the other only uses the Raphaël + jQuery interface. None of them seem to shoot at the drop event. As far as I know, the Raphaël version does not work, because jQuery dom manipulation cannot interact with SVG dom.
JS Fiddle jQuery SVG: http://jsfiddle.net/cqMUL/5/ (you'll have to scroll far down to see SVG elements, my apologies).
Other possible solutions seem to be:
a) Using Raphaël with its built-in drag and onDragOver , although then I use all onDragOver and I try to use HTML dom for the moving parts because they will be images (div with background image). Also, I probably have to implement the drop myself.
b) Trying to use drag and drop HTML5, although I'm not sure if this will work.
MAP
source share