docs: function (fn, cfg) {
          var self = this
          cfg = cfg || {}
          if (!cfg.disableTouch && $platform.touch) { // touch experience
              var touchstartHandler = function (e) {
                  fn.apply (this, arguments)
                  e.preventDefault () // prevents nasty delayed click-focus effect on iOS
                  return false }
  
              var clickHandler = function (e) {
                  e.preventDefault ()
                  return false }
  
              if (cfg.handler) {
                  cfg.handler ({
                      unbind: function () {
                          self.off ('touchstart', touchstartHandler).off ('click', clickHandler) } }) }
  
              return this.on ('touchstart', touchstartHandler).on ('click', clickHandler) }
  
          else { // mouse experience
              if (cfg.handler) {
                  cfg.handler ({
                      unbind: function () {
                          self.off ('click', fn) } }) }
              return this.click (fn) } }