点击其他位置弹框消失

Posted 梦蝶庄周

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了点击其他位置弹框消失相关的知识,希望对你有一定的参考价值。

<ul v-if="isShow" class="context-menu" ref="contextMenu" @blur="onClose" tabindex="-1" :>
  ....
  </ul>

 给ul注册事件

 nextTick(() => 
    const curMenu = contextMenu.value
    contextMenu.value.focus()
)

  点击其他位置失去焦点事件

const onClose = () => 
  isShow.value = false

  

鼠标移走时,鼠标悬停hover样式不消失

问题描述

在使用分页组件时,点击页码跳转,在页码较多时点击当前显示的最大的页码,会加上active样式,但是新加载出来的页面也会加上‘active’。样式并且在点击其他位置时,该样式会消失
例如图一中点击第‘8’页,第‘8’页会加上‘active’样式,后面加载出来第九页第十页,第十页也会有‘active’样式。如图二:

图一

图二

 

问题分析

在点击了第‘8’页时,新加载出第九页第十页,此时鼠标的位置切换到了第十页的位置,由于在样式中加了:focus伪类会自动添加点击后的效果,变造成了上述的问题

 

解决办法

删除样式的:focus伪类,或者将:focus样式改成当前未选中页码的样式,将原来的:focus覆盖。

 

以上是关于点击其他位置弹框消失的主要内容,如果未能解决你的问题,请参考以下文章

PRD学习笔记:一些需要注意的说明

Android4.0的Alertdialog对话框,设置点击其他位置不消失

element-ui 弹窗显示时 点击页面其他位置会消失

axure如何实现提示框3s后自动消失

当其他元素消失时,动画/缓和元素的位置

android 怎么实现点击屏幕其他地方popupwindow消失