手机端实现Tooltip (Hover)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了手机端实现Tooltip (Hover)相关的知识,希望对你有一定的参考价值。

参考技术A 首先参考了这篇文章: 5行JS自定义title提示效果(Tooltip)

参考后实现如下:
html: 用了angularjs的ng-repeat

css:

然后发现iPhone手机点击后仍然不显示提示文字。
参考了这篇文章解决了问题。 苹果手机无法识别hover的解决方案

在html页面后面加上

在实现过程中又找到了几个现成的插件亲测可用:
Microtip.css 纯css3 Tooltip工具提示样式
Hint.css 纯CSS实现的Tooltip提示 - Hint.css
纯css3 Tooltip工具提示样式
tootik

之前还尝试使用过jquery-ui的Tooltip,iPhone也是不好用但是发现这篇文章非常好。
解决 Jquery UI Tooltip 用在Select 的BUG

这是我用jquery-ui时的写法,因为给所有document都响应tooltip事件,导致只要有title的都会显示。

文章里这种改法可以过滤我们想要响应hover的到底是什么元素。

这部分内容jQuery-UI 控件上是没有说的,非常有用。

这篇文章没细看
ontouchstart实现手机触屏中的hover效果

2021-11-11el-tooltip提示不消失问题记录

参考技术A 问题描述,我的页面使用的是el-table,里面一个列放置了几个按钮,按钮外层包裹了el-tooltip实现hover效果;本来用的是button的title实现的hover效果,但是用户要降低灵敏度,不想让鼠标移入立马显示提示,自己不想写延迟方法就都换成el-tooltip了,因为el-tooltip有个open-delay属性可以直接使用延迟打开提示。换了之后延迟是实现了,但是操作列表中的按钮提示不消失,一滚动就会在页面中滚来滚去不好看。

解决方案:

方案一:style中设置.focusingdisplay: none;这个在我自己写的demo项目里面没有问题,场景比较简单,按钮的事件是弹出confirm和跳转到百度都没有问题。但是在项目中有一个场景有问题然后就又找了方案二

方案二:监听表格的滚动事件,然后设置el-tooltip不显示。参考资料地址:https://blog.csdn.net/baoyin0822/article/details/119824648

closeTooltip()

let list = document.getElementsByClassName('el-tooltip__popper')

if(list.length > 0)

list[list.length - 1].style.display = 'none'



,

以上方法,在mounted中调用this.dom = this.$refs.mytable.bodyWrapper

this.dom.addEventListener('scroll',()=>

this.closeTooltip()

)

但是第二种方法没有滚动调的时候还是不会消失;第一种方案就不会,但是第一种方案在我们项目中有问题,场景比较多可能会有影响。

以上是关于手机端实现Tooltip (Hover)的主要内容,如果未能解决你的问题,请参考以下文章

响应式设计的时候移动端的hover怎么处理?

手机端css怎么实现active改变点击的元素背景色?

boostrap4 tooltip 在移动端点击,提示框一闪而过的解决方案

移动端和PC端有什么区别

PC端网页和移动端网页,自己做的总结

移动端开发的注意事项