title: Drag 'n' drop algorithm
body: <p>This <a href="https://javascript.info/mouse-drag-and-drop" rel="nofollow noreferrer">page</a> describes a drag-'n'-drop algorithm.</p>
  <p>Looking only at the first snippet of code (which the article continually improves upon), it says it's important we use <code>document</code> in <code>document.addEventListener('mousemove', onMouseMove);</code>.</p>
  <p>Is this because if we were to use <code>ball</code>, there's a chance we might move the cursor so fast the cursor might leave the box-model of the ball before <code>mousemove</code> would have a chance to execute again? We wouldn't be moving the mouse over <code>ball</code> so <code>mousemove</code> wouldn't re-fire.</p>