1

我有这个功能设置

var $this = $(this);
if (msg == null) { 
    $this.tooltip('destroy');

}
else
{
    $this.tooltip({'title': msg, 'placement': 'right', 'trigger': 'manual'});
    $this.tooltip('show');
}

工具提示显示正常,销毁行抛出错误data[option] is not a function。如果我将它更改为tooltip('hide')工具提示隐藏本身,我就无法让它自行删除。谁能帮我解决这个问题?

4

3 回答 3

3

如果您没有打错,请检查您是否使用了最新版本的 Bootstrap 的 javascript 插件。

tooltip.js 包含:

  // TOOLTIP PLUGIN DEFINITION
  // =========================

  var old = $.fn.tooltip

  $.fn.tooltip = function (option) {
    return this.each(function () {
      var $this   = $(this)
      var data    = $this.data('bs.tooltip')
      var options = typeof option == 'object' && option
      if (!data) $this.data('bs.tooltip', (data = new Tooltip(this, options)))
      if (typeof option == 'string') data[option]()
    })
  }

.tooltip('destroy');该行的情况下,如果不存在,if (typeof option == 'string') data[option]()则会给出您提到的错误。Tooltip.prototype.destroy

于 2013-09-26T12:36:51.117 回答
3

我通过在bootstrap.min.js之后加载jquery-ui.min.js来修复它

于 2015-07-09T09:06:19.047 回答
0
$this.tooltip('destroy'); //it use Bootsrap tooltip

尝试调用 jQuery

$(this).$(jQuery).tooltip('destroy');


$.ui.tooltip()

或替换功能

$.fn.tooltip = jQuery.ui.tooltip;
于 2018-05-12T11:05:21.493 回答