This test illustrates the difference between the implicit and explicit capture models in touch and pointer events.
touch events
pointer events
pointer events w/capture
Touch/click in the squares below and drag your finger/pointer outside of the square. Touch events, with their implicit capture, keep firing at the element (visualised by showing the touch coordinates), while pointer events stop firing once the pointer exits the element's boundaries, unless it's explicitly captured.
Note: in Pointer Events Level 2, implicit capture is now allowed for touch. This demo still shows the effect of explicit capture for mouse/stylus.
foo.addEventListener('pointerdown', function(e) {
...
this.setPointerCapture(e.pointerId);
...
} , false);