【问题标题】:Bootstrap Tooltip data[option] is not a function引导工具提示数据 [选项] 不是函数
【发布时间】:2013-09-26 11:59:14
【问题描述】:

我有这个功能设置

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

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

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

【问题讨论】:

    标签: javascript twitter-bootstrap twitter-bootstrap-3


    【解决方案1】:

    如果您没有打错,请检查您是否使用了最新版本的 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'); 的情况下,如果Tooltip.prototype.destroy 不存在,if (typeof option == 'string') data[option]() 行会给出您提到的错误。

    【讨论】:

    • 你有这个问题的解决方案吗?我在 Bootstrap Tabcordion 上遇到了这个问题(使用 collaspse Bootstrap 库)。尝试了最新的 jQuery 和 Boostrap 没有成功。
    • 嗯,Tabccordion 有错误,所以我修复了它github.com/aexmachina/tabcordion/pull/3
    【解决方案2】:

    我通过在 bootstrap.min.js

    之后加载 jquery-ui.min.js 来修复它

    【讨论】:

      【解决方案3】:
      $this.tooltip('destroy'); //it use Bootsrap tooltip
      

      尝试调用jQuery

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

      或替换函数

      $.fn.tooltip = jQuery.ui.tooltip;
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2014-08-03
        • 2013-06-19
        • 2017-01-07
        • 2015-01-20
        • 1970-01-01
        • 1970-01-01
        • 2023-03-26
        相关资源
        最近更新 更多