// 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>表头标题表头
张小明
前端开发工程师
使用javascript进行内网大附件上传的详解及代码示例?
来自一名"预算紧张"程序员的求助信 各位大神们好啊!(拱手) 我是一名浙江的Java程序员,最近接了个"惊天地泣鬼神"的大项目——20G文件上传下载系统!客户要求还挺多,但最让我感动的是预算:整整100…
jsp法律援助系统设计与实现c4514--(程序+源码+数据库+调试部署+开发环境)
本系统(程序源码数据库调试部署开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。 系统程序文件列表 用户,法律咨询,法律类型,找律师,申请援助,援助指南,法律文书,罪名库,网站简介 开题报告内容 一、项目背景与意义…
jsp二手手机交易系统设计与实现kd0g6(程序+源码+数据库+调试部署+开发环境)
本系统(程序源码数据库调试部署开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容一、项目背景随着科技的飞速发展,手机更新换代速度加快,二手手机市场潜力巨大。然…
刚刚,谷歌版「世界模型」震撼公测!网友实测炸翻天:游戏末日来了?
来源:新智元报道 编辑:Aeneas KingHZ【新智元导读】谷歌被中国世界模型逼急了?就在刚刚,Genie 3突然公测,一句话生成互动宇宙,网页直装世界模型。网友们纷纷惊呼:这次,真的进黑客帝…
(2026 学生版)学术写作 AI 论文工具排行榜
🏆 3 个精选标题2026 学生党 AI 论文工具性价比 TOP 榜:PaperRed 领衔,免费 / 低成本高效搞定学术写作预算有限也能当学霸!AI 论文工具排行榜(含 PaperRed / 豆包 / DeepSeek 实测)避坑指南 性价比之王&am…
全网热议!2026年最佳免费制作视频二维码推荐榜单
随着信息分享的需求不断增长,视频二维码成为2026年的热门选择。选择合适的工具制作视频二维码,可以大大提高信息传播的效率。各大工具具备简单的操作和多种功能,适合不同场景如教育培训和产品宣传。通过这些工具,用户可以轻松上传…