需求:
做一个弹出框组件,文字点击时会在文字下方弹出一个框,在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>