Если вам нужен чистый учебник о том, как сделать объекты перетаскиваемыми внутри HTML5-холста, я написал учебник с множеством объяснений здесь .
Для каждого создаваемого вами объекта, нарисованного на холсте, вы, вероятно, захотите также задать ему какие-то «предельные границы», такие как limitX, limitY, limitWidth, limitHeight и т. Д. Затем, когда вы перетаскиваете, вам нужно сделать уверен, что остается в этих пределах. Если он выходит за границы, вы просто заставляете его находиться на той стороне, с которой его пытались вытащить.