需求:

做一个弹出框组件,文字点击时会在文字下方弹出一个框,在vue3中监听div元素的blur事件发现事件并不会在div失去焦点时触发
在这里插入图片描述

解决方法

bug原因:在vue中div默认不触发事件,除非将元素添加tabindex="-1"属性才会触发blur事件

<div tabindex="-1"  @click="toggle" @blur="hide">

在react中

在react中div元素是能触发onblur事件的

<div onFocus={open} onBlur={close}></div>
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐