Live binding actually uses a little different approach.
Your code basically binds an even to each of the ".drag" elements individually - creating unnecessary overhead via lots of event handlers.
Also, you need to do this binding manually every time you add a ".drag" component onto the page.
Live binding will instead use the fact that
events in JavaScript bubble, thus binding only a single "drag" event to the container where all ".drag" elements reside.
This main container will then intercept any events passed to its descendants (i.e. our ".drag" elements). This function will check if the event comes from a ".drag" element first, then it will act upon it.
This is how the original "live" part of the drag&drop script works:
$( document ).on("drag",".drag",function( ev, dd ){