Pour un petit projet (enfin plus un proof of concept qu'un projet pour le moment), je souhaitai faire du drag sur des éléments raphael (librairie svg) (rect svg) et également sur le div conteneur. Il se trouve que lorsque je saisissai le rect svg, le mouvement de mon drag'n drop était démultiplié. J'ai alors pensé à la fonction jquery stopPropagation() sur l'event pour ne pas le transmettre au parent. Sans succès ! J'ai alors lu la doc (ouai il serait presque temps) de jQueryUI et il y a moyen d'annuler des éléments en tant que handle pour le drag'n drop (https://jqueryui.com/demos/draggable/#handle). Et effectivement ça marche bien. Voici le code jQueryUI :
$(document).ready(function(){
$('#holder').draggable({ cancel:'#holder svg rect'});
});
Et l'espèce de code html
<div id="holder">
<svg ....><rect .... ></rect></svg>
</div>