code: function move(e) {
                  var to = coords(e);
  
                  // Trigger `preventDefault()` if `x` is larger than `y` (scrolling horizontally).
                  // If we `preventDefault()` while scrolling vertically, the window will not scroll.
                  if (abs(start.x - to.x) > abs(start.y - to.y)) {
                      e.preventDefault();
                  }
              }
docs: There's a major bug in Android devices where `touchend` events do not fire
  without calling `preventDefault()` in `touchstart` or `touchmove`.
  Because of this, we have to hack-ily implement functionality into `touchmove`.
  We also can't use `touchcancel` as that fires prematurely and unbinds our move event.
  More information on these bugs can be found here:
  
  https://code.google.com/p/android/issues/detail?id=19827
  https://code.google.com/p/chromium/issues/detail?id=260732
  
  Using `touchcancel` is also rather unpredictable, as described here:
  
  http://alxgbsn.co.uk/2011/12/23/different-ways-to-trigger-touchcancel-in-mobile-browsers/