You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MDBootstrap Tooltip无控制台报错不显示 引入Popper.js仍失效如何解决

问题排查及修正方案

1. 核心错误:jQuery引入标签语法错误

你引入jQuery的script标签未正确闭合,原代码为:

<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script

末尾缺少>,导致后续JS资源加载解析异常,直接补全闭合即可:

<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>

2. Popper.js版本不匹配

MDB UI Kit 3.9.0依赖的Popper.js版本为2.x系列,你使用的1.10.1版本过低,无法适配MDB的tooltip组件,替换为适配版本即可:

<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/2.11.8/umd/popper.min.js" crossorigin="anonymous"></script>

3. 组件冲突问题

jQuery UI内置了同名的tooltip组件,会和MDB的tooltip产生命名/行为冲突,有两种解决方式:

  • 如果不需要使用jQuery UI的tooltip功能,可在引入jQuery UI后添加代码销毁其tooltip注册:
    $.widget.bridge('tooltip', $.noop);
    
  • 或者优先保证MDB的tooltip在jQuery UI之后初始化即可。

4. 初始化执行时机问题

如果你的JS初始化代码写在<body>头部、DOM元素渲染之前执行,会导致document.getElementById('warningIcon')拿到空值,需要把初始化代码放在DOM加载完成后执行:

// 原生JS写法
document.addEventListener('DOMContentLoaded', function() {
  const warningIcon = document.getElementById('warningIcon')
  const tooltip = new mdb.Tooltip(warningIcon, {
      title: 'generated warning message'
  });
  tooltip.show()
})

// jQuery写法
$(function() {
  const warningIcon = document.getElementById('warningIcon')
  const tooltip = new mdb.Tooltip(warningIcon, {
      title: 'generated warning message'
  });
  tooltip.show()
})

可选优化

手动初始化tooltip时,HTML元素上的data-mdb-toggle="tooltip"和原生title属性可以删除,避免冗余配置。

内容的提问来源于stack exchange,提问作者jared

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 00:42:00