lib/view/gesture.js
function onSelection(ev) {  // {{{2
  if (ev) {
    ev.stopPropagation();
    ev.stopImmediatePropagation();
    ev.preventDefault();
  }

  setTimeout(function() {
    if (window.getSelection) {
      if (window.getSelection().empty) {  // Chrome
        window.getSelection().empty();
      } else if (window.getSelection().removeAllRanges) {  // Firefox
        window.getSelection().removeAllRanges();
      }
    } else if (document.selection) {  // IE?
      document.selection.empty();
    }
  });

  return false;
}
function onSelection(ev) {  // {{{2
  if (ev) {
    ev.stopPropagation();
    ev.stopImmediatePropagation();
    ev.preventDefault();
  }

  setTimeout(function() {
    if (window.getSelection) {
      if (window.getSelection().empty) {  // Chrome
        window.getSelection().empty();
      } else if (window.getSelection().removeAllRanges) {  // Firefox
        window.getSelection().removeAllRanges();
      }
    } else if (document.selection) {  // IE?
      document.selection.empty();
    }
  });

  return false;
}
Event Handlers {{{1