问题描述
输入框根据输入的内容搜索数据,将搜索到的数据渲染到输入框下面的列表中,这里有两个需求,一是输入框失去焦点隐藏列表,二是列表需要点击事件执行一些操作,但是当点击列表的时候只执行了onblur事件,没触发点击事件
分析:因为js是单线程的,同一时间只能执行一个事件,而onblur的优先级高于click,但是我们执行onblur事件后会将列表隐藏,所以无法再点击执行click事件
解决办法
将点击事件换成onmousedown或者onmouseup即可
<button @click="search">点击</button> ========>变成 <button @mousedown="search">点击</button>