我正在使用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()
<{1}} if (this.hasContent() && this.enabled)
内拨打line 184
所以我没有使用类.tooltip
作为隐藏工具提示的选择器,而是我可以使用$tipId
,var tipId = this.getUID(this.type)
定义为line 193
? $tipId
为每个创建的工具提示使用随机生成的ID。我在考虑这样的事情:$(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
})
}