前端同时使用VUE和BOOTSTRAP时,工具提示tooltip失效无法使用的解决方法

前端同时使用VUE和BOOTSTRAP时,工具提示tooltip失效无法使用的解决方法

先看一下bootstap中tooltip(工具提示)的标准写法

html 复制代码
<button type="button" class="btn btn-default" data-toggle="tooltip" data-placement="left" title="Tooltip on left">Tooltip on left</button>

正常使用没有问题,但是如果上面代码是处在VUE作用域内的时候,鼠标移入的时候,是没有提示的,经过研究发现,是因为vue环境中,没有hover事件,导致tooltip没有提示动作。

知道了原因,就有了解决思路,只需要增加上适用于vue的移入移出事件,就可以解决了。

在DOM元素上,有以下几个 元素的移入移出事件(解决子元素影响)

mouseenter: 指定元素内移入,不会多层嵌套的子元素影响,只触发指定的元素

mouseleave: 指定元素内移出,不会多层嵌套的子元素影响,只触发指定的元素

mouseover: 指定元素内移入,但是会受指定元素的子元素影响(滑到子元素上时就会触发移出事件)

mouseout: 指定元素内移出,但是会受指定元素的子元素影响

在这个应用场景中,我本人推荐使用mouseenter、mouseleave。

优化后的html代码

html 复制代码
<button @mouseenter="enter($e)" @mouseleave="leave($e)" type="button" class="btn btn-default" data-toggle="tooltip" data-placement="left" title="Tooltip on left">Tooltip on left</button>

在methods中增加两个对应的方法

javascript 复制代码
methods:{
enter:function(e){
//调用bootstrap的tooltip方法就可以了
$(e.target).tooltip('show')

},
leave:function(e){
$(e.target).tooltip('hide')
}
}

经过上面的改造,tooltip终于又回来了!

当然这只是众多解决方法中的一个,仅供参考。

相关推荐
林深现海19 分钟前
Jetson Orin nano/nx刷机后无法打开chrome/firefox浏览器
前端·chrome·firefox
EchoEcho31 分钟前
深入理解 Vue.js 渲染机制:从声明式到虚拟 DOM 的完整实现
vue.js
黄诂多33 分钟前
APP原生与H5互调Bridge技术原理及基础使用
前端
前端市界36 分钟前
用 React 手搓一个 3D 翻页书籍组件,呼吸海浪式翻页,交互体验带感!
前端·架构·github
文艺理科生38 分钟前
Nginx 路径映射深度解析:从本地开发到生产交付的底层哲学
前端·后端·架构
千寻girling38 分钟前
主管:”人家 Node 框架都用 Nest.js 了 , 你怎么还在用 Express ?“
前端·后端·面试
C澒1 小时前
Vue 项目渐进式迁移 React:组件库接入与跨框架协同技术方案
前端·vue.js·react.js·架构·系统架构
清山博客1 小时前
OpenCV 人脸识别和比对工具
前端·webpack·node.js
要加油哦~1 小时前
AI | 实践教程 - ScreenCoder | 多agents前端代码生成
前端·javascript·人工智能
程序员Sunday1 小时前
说点不一样的。GPT-5.3 与 Claude Opus 4.6 同时炸场,前端变天了?
前端·gpt·状态模式