Как использовать рандомизированный идентификатор Bootstrap's tooltip.js в качестве селектора?

Я использую Bootstrap tooltip.js и пытаюсь настроить эту функцию: когда подсказка открыта, нажатие клавиши ESC закрывает ее. Вот мой код, вставленный после Tooltip.prototype.fixTitle, который начинается в line 345:

  Tooltip.prototype.escapeTooltip = function () {
    // ESC key closes all tooltips

    $(this.$element).keydown(function (event) {
      if (event.which === 27) {
        $('.tooltip').tooltip('hide');
      }
    });
  }

Тогда я звоню this.escapeTooltip() в if (this.hasContent() && this.enabled) в line 184

Поэтому вместо использования класса .tooltip как селектор для скрытия всплывающей подсказки, могу ли я в любом случае использовать $tipId, который определяется как var tipId = this.getUID(this.type) в line 193? $tipId использует случайно сгенерированный идентификатор для каждой созданной подсказки. Я думал о чем-то вроде этого: $(this.$tipId).tooltip('hide'); но, к сожалению, это не работает.

ПРИМЕЧАНИЕ. Я отключаю событие keydown следующим образом:

  Tooltip.prototype.destroy = function () {
    var that = this
    clearTimeout(this.timeout)
    this.hide(function () {
      that.$element.off('.' + that.type).removeData('bs.' + that.type)

      // Detaching keydown handler
      that.$element.off("keydown")

      if (that.$tip) {
        that.$tip.detach()
      }
      that.$tip = null
      that.$arrow = null
      that.$viewport = null
    })
  }

0 ответов

Другие вопросы по тегам