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

升级jQuery至最新版本后tooltip无法初始化问题求助

解决jQuery升级后tooltip is not a function错误

问题根源

你的代码里调用的tooltip()是Bootstrap的组件,但当前页面未加载Bootstrap脚本;同时jQuery UI和Bootstrap的tooltip()方法存在命名冲突,即便加载了也可能被覆盖导致功能失效。

具体解决步骤

1. 确保Bootstrap脚本正确加载

你的InitializeTooltip使用了Bootstrap的data-toggle="tooltip"语法,但_layout.cshtml里只渲染了jQuery和jQuery UI,未加载Bootstrap的Bundle。修改_layout.cshtml:

<head>
    @Scripts.Render("~/bundles/jquery")
    @Scripts.Render("~/bundles/jqueryui")
    @Scripts.Render("~/bundles/bootstrap") <!-- 新增这行,加载Bootstrap脚本 -->
</head>

2. 解决命名冲突(二选一)

jQuery UI和Bootstrap都提供了.tooltip()方法,同时加载会导致方法被覆盖,必须二选一或明确指定:

方案A:保留Bootstrap的Tooltip

如果不需要jQuery UI的Tooltip,直接使用Bootstrap的命名方法避免冲突:
修改layout.js:

function InitializeTooltip() {
    // 直接调用Bootstrap的tooltip别名
    jQuery('[data-toggle="tooltip"]').bootstrapTooltip();
}

或者在Bootstrap加载后重置方法:

// 在bootstrap.js加载后执行
$.fn.tooltip = $.fn.bootstrapTooltip;

方案B:改用jQuery UI的Tooltip

如果要使用jQuery UI的Tooltip,需要修改DOM和初始化代码(jQuery UI不支持data-toggle="tooltip"):
修改layout.js:

function InitializeTooltip() {
    // 针对带title属性的元素初始化jQuery UI Tooltip
    jQuery('[title]').tooltip({
        // 可选:配置位置等参数
        position: { my: "left+15 center", at: "right center" }
    });
}

3. 验证加载顺序与文件状态

  • 打开浏览器F12控制台,检查是否有404错误,确认所有脚本都成功加载
  • 在控制台输入$.fn.tooltip,查看返回的函数体:
    • 返回undefined:说明Tooltip库未加载
    • 返回包含ui-tooltip的函数:是jQuery UI的Tooltip
    • 返回包含bootstrapTooltip的函数:是Bootstrap的Tooltip

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 04:48:37