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

文章讲述了在Vue项目中使用BOOTSTRAP的tooltip时遇到的问题,由于Vue环境缺少hover事件,作者提供了使用mouseenter和mouseleave事件替代,以及在Vue组件中添加相应方法来解决tooltip显示和隐藏的问题。
摘要由CSDN通过智能技术生成

前端同时使用VUE和BOOTSTRAP时,工具提示tooltip失效无法使用的解决方法
先看一下bootstap中tooltip(工具提示)的标准写法

<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代码

<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中增加两个对应的方法

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

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

经过上面的改造,tooltip终于又回来了!
当然这只是众多解决方法中的一个,仅供参考。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

左小皓

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值