前端同时使用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终于又回来了!

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

相关推荐
子兮曰2 天前
jev-ultrafast 深度解析:7 秒订机票的浏览器 Agent 是如何炼成的
前端·后端·agent
子兮曰2 天前
Jev 爆发一周:7 秒 Agent 背后的 System One 生态与三场争议
前端·后端·ai编程
前端小万2 天前
写公众号赚了 3000 块后,我做了一款叫 "一键成稿" 的软件
前端·微信小程序
爱勇宝2 天前
ZCode 开源 24 小时:一份没有历史的账本,回答不了"有没有偷代码"
前端·后端·chatglm (智谱)
A黄俊辉A2 天前
uniapp webview中实现 app和内嵌的H5双向通信
vue.js·json
三十而立洋3 天前
Cookie 详解:从产生到安全,一次讲透
前端·javascript
卡布鲁3 天前
把一个 Vite + Vue3 应用塞进 qiankun (React + Umi3) 主站:十个坑的复盘
前端·javascript·react.js
honkun63 天前
vue 表格组件 vxe-table 配置 ajax 请求自动加载数据与表单查询
vue.js·vxe-table
kybs19913 天前
全球灾害数据分析可视化 毕业设计-附源码66794
vue.js·spring boot·mysql·安全·django·c#·asp.net
汉堡大王95273 天前
Jev:不是聊天机器人, 而是一个智能 if 语句
前端·人工智能·后端