Как использовать рандомизированный идентификатор 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
})
}