当前位置: 首页 > news >正文

厦门英文网站建设备案查询官网

厦门英文网站建设,备案查询官网,做网站的维护成本,基础建设的网站有哪些内容描述 自定义指令 v-tooltip mounted(el, binding):当元素被挂载到DOM上时,这个钩子会被调用。 el 是指令绑定的元素,binding 包含了指令的值,即 binding.value,这里是 clickOutside 字符串。tooltip 变量用于存储创建…

描述

自定义指令 v-tooltip

  • mounted(el, binding):当元素被挂载到DOM上时,这个钩子会被调用。

    • el 是指令绑定的元素,binding 包含了指令的值,即 binding.value,这里是 clickOutside 字符串。
    • tooltip 变量用于存储创建的提示框元素。
  • isOverflowing():这是一个辅助函数,用于检查元素的文本内容是否超出了其宽度。如果 scrollWidth(元素内容的宽度)大于 clientWidth(元素可视宽度),则返回 true,表示内容溢出。

  • createTooltip():这个函数用于创建提示框。

    • 创建一个新的 div 元素作为提示框,并设置其文本内容为指令的值或元素的文本内容。
    • 设置提示框的样式,包括位置、背景颜色、文字颜色、内边距、边框圆角、层级和最大宽度。
    • 将提示框添加到 document.body 中。
    • 根据元素的位置和大小调整提示框的位置,使其显示在元素的下方。
  • 鼠标移入事件:当鼠标移入元素时,会触发 mouseenter 事件。

    • 如果元素的内容溢出,即 isOverflowing() 返回 true,则调用 createTooltip() 创建提示框。
  • 鼠标移出事件:当鼠标移出元素时,会触发 mouseleave 事件。

    • 如果存在提示框,则将其从 document.body 中移除,并设置 tooltip 为 null

鼠标移入元素,显示提示内容,如使用中所描述,会提示字符串clickOutside

使用

<div v-tooltip="clickOutside"><input />
</div>

代码

/* 鼠标提示信息 */app.directive('tooltip', {mounted(el, binding) {let tooltip;// 检查内容是否超出标签宽度const isOverflowing = () => {console.log(el, el.scrollWidth, el.clientWidth, el.scrollWidth > el.clientWidth)return el.scrollWidth > el.clientWidth;};// 创建工具提示const createTooltip = () => {tooltip = document.createElement('div');tooltip.textContent = binding.value || el.textContent;tooltip.style.position = 'absolute';tooltip.style.backgroundColor = '#333';tooltip.style.color = '#fff';tooltip.style.padding = '5px 10px';tooltip.style.borderRadius = '4px';tooltip.style.zIndex = '1000';tooltip.style.maxWidth = `${el.clientWidth * 2}px`; // 限制为元素宽度document.body.appendChild(tooltip);const rect = el.getBoundingClientRect();tooltip.style.top = `${rect.bottom + 5}px`; // 调整到元素下方5px处tooltip.style.left = `${rect.left + 10}px`;};// 鼠标移入事件el.addEventListener('mouseenter', () => {if (isOverflowing()) {createTooltip();}});// 鼠标移出事件el.addEventListener('mouseleave', () => {if (tooltip) {document.body.removeChild(tooltip);tooltip = null;}});}});

拓展

【10分钟学习Vue自定义指令开发】复制指令v-copy

【10分钟学习Vue自定义指令开发】元素变化指令

【10分钟学习Vue自定义指令开发】鼠标放置提示指令

http://www.zhongyajixie.com/news/56632.html

相关文章:

  • wordpress视频不全屏播放关键词怎么优化
  • 安慧桥做网站公司口碑营销推广
  • 郴州本地网站建设足球世界排名一览表
  • 自己做的网站打开显示很慢uc搜索引擎入口
  • 长沙模板网站建设品牌推广软文
  • 临清网站建设公司无锡seo网络推广
  • 做二手货车网站公司拓客软件排行榜
  • 有域名怎么建网站南宁怎么开自己的网站
  • 上海平台网站制作公司哪家好友链外链app
  • 蛇口做网站佛山百度提升优化
  • 励志故事网站源码内江seo
  • 美团网网站建设 费用百度渠道开户
  • 怎么区分模板网站企业网站建设的流程
  • 有没有做头像的网站网址浏览大全
  • 重庆建立公司网站沈阳今日新闻头条
  • 公司建立网站的费用如何做帐站长工具seo排名
  • 南昌做网站哪家好站外推广渠道有哪些
  • 简单的网站开发的软件有哪些合肥seo网络优化公司
  • 中国工程建设焊接协会网站南京seo优化公司
  • 17网站一起做网店怎么样百度一下就知道手机版
  • 更改wordpress默认登录后台网站seo优化建议
  • 佛山免费自助建站模板销售平台
  • wordpress贴吧seo关键词优化指南
  • 2_试列出网站开发建设的步骤艾滋病阻断药
  • 宝安石岩网站建设高粱seo博客
  • 权威网站设计徐州seo排名收费
  • 网站备份数据库seo排名策略
  • 优秀的html5网站赣州seo培训
  • wordpress ssoseo资料站
  • 中国疫情最新情况今日新增银川seo