_bindEvents(pref, down, up, cancel) {
    const {
      pswp
    } = this;
    const {
      events
    } = pswp;
    const cancelEvent = cancel ? pref + cancel : '';
    events.add(pswp.scrollWrap, pref + down,
    /** @type EventListener */
    this.onPointerDown.bind(this));
    events.add(window, pref + 'move',
    /** @type EventListener */
    this.onPointerMove.bind(this));
    events.add(window, pref + up,
    /** @type EventListener */
    this.onPointerUp.bind(this));

    if (cancelEvent) {
      events.add(pswp.scrollWrap, cancelEvent,
      /** @type EventListener */
      this.onPointerUp.bind(this));
    }
  }
@private
@param {'mouse' | 'touch' | 'pointer'} pref
@param {'down' | 'start'} down
@param {'up' | 'end'} up
@param {'cancel'} [cancel]