// customTooltip 组件 <template> <div @mouseenter="handleMouseenter" style="width: 100%"> <el-tooltip placement="top" :disabled="disabled" :content="props.content" @mouseleave="mouseleave" popper-class="tooltip"> <slot></slot> </el-tooltip> </div> </template> <script setup lang="ts"> import { ref } from 'vue' const props = defineProps({ content: { type: String, default: '', }, }) const disabled = ref(true) const handleMouseenter = (e: any) => { if (!props.content) { return } const cellChild = e.target.children[0] // range 表示文档的一个区域 const range = document.createRange() range.setStart(cellChild, 0) range.setEnd(cellChild, cellChild.childNodes.length) const flag = getStyle(cellChild, '-webkit-line-clamp') console.log(flag) if (flag == 'none') { // rangeWidth 表示元素内容的宽度 const rangeWidth = range.getBoundingClientRect().width let padding = (parseInt(getStyle(cellChild, 'paddingLeft')) || 0) + (parseInt(getStyle(cellChild, 'paddingRight')) || 0) // cellChild.offsetWidth 表示选定区域的宽度 if (rangeWidth > cellChild.offsetWidth - padding) { // 显示tooltip disabled.value = false } else { disabled.value = true } } else { // rangeHeight 表示元素内容的高度 const rangeHeight = range.getBoundingClientRect().height let padding = (parseInt(getStyle(cellChild, 'paddingTop')) || 0) + (parseInt(getStyle(cellChild, 'paddingBottom')) || 0) // cellChild.offsetHeight 表示选定区域的高度 if (rangeHeight > cellChild.offsetHeight - padding) { // 显示tooltip disabled.value = false } else { disabled.value = true } } } const mouseleave = () => { disabled.value = true } // 获取dom的样式 const getStyle = (dom: any, attr: any) => { return getComputedStyle(dom, null)[attr] } </script> <style lang="scss"> .tooltip { position: relative; z-index: 9999999 !important; } </style>表头标题表头
张小明
前端开发工程师
妙啊!浙大学者评估动态虚弱轨迹,四库联合登上一区Top(IF=13) | 公共数据库好文汇总
源自风暴统计网:一键统计分析与绘图的AI网站引言本周公共数据库继续发力,大量好文涌现:新预测工具、新复合指标、动态轨迹评估……这些选题思路还是太强了!为此节选了一些优秀文章,供大家参考和学习~公共数据库选题和统…
2025年AI工具定价指南:主流平台技术特性与成本效益分析
2025 AI工具定价指南:哪个平台适合您? 人工智能工具已成为我们日常生活不可或缺的一部分。然而,市场上数十种不同的选择,使得挑选最适合您需求且在预算内提供最佳价值的工具,变成了一个相当复杂的过程。根据我20多年的…
救命神器8个降AI率工具推荐!千笔·专业降AI率智能体帮你解决论文AI检测难题
AI降重工具:论文写作的“隐形助手” 在如今的学术环境中,随着AI技术的广泛应用,论文中出现的AIGC痕迹越来越容易被检测出来。对于专科生而言,如何在保证内容质量的同时有效降低查重率和AI检测率,成为了论文写作中的关键…
Clawdbot背后的技术原理,吴恩达出官方课程了
Datawhale干货 最新:吴恩达 Agent Skill 课程如果你最近刷科技圈,一定见过那只红色龙虾——Clawdbot(现已改名 OpenClaw)。短短一周,12 万 GitHub stars。增长速度快到离谱,社交平台上到处都是开发者在晒截…
教育网站如何通过WordPress实现PPT课件中WORD图片的网页展示?
要求:开源,免费,技术支持 博客:WordPress 开发语言:PHP 数据库:MySQL 功能:导入Word,导入Excel,导入PPT(PowerPoint),导入PDF,复制粘贴word,导入微信公众号内容,web截屏 平台:Window…
AI驱动的下一代邮箱安全架构——多层智能防护与高级威胁过滤机制深度剖析
【精选优质专栏推荐】 《AI 技术前沿》 —— 紧跟 AI 最新趋势与应用《网络安全新手快速入门(附漏洞挖掘案例)》 —— 零基础安全入门必看《BurpSuite 入门教程(附实战图文)》 —— 渗透测试必备工具详解《网安渗透工具使用教程(全)》 —— 一站式工具手册《CTF 新手入门实战教…