js--onblur和onclick事件冲突


  • 微信扫码关注公众号 :前端前端大前端,追求更精致的阅读体验 ,一起来学习啊
  • 关注后发送关键资料,免费获取一整套前端系统学习资料和老男孩python系列课程
    在这里插入图片描述

缘起

最近用React封装一个支持模糊搜索的下拉框,聚焦的时候显示全部数据,输入数据后进行过滤,然后点击某一个子项即成为当前值,失去焦点的时候隐藏列表项。总的来说,涉及onFocus,onBlur,onChange,onClick四个事件。

问题

在进行onBlur,onClick同时绑定的时候问题来了,由于js的单线程机制和事件响应优先级的问题,onBlur总是比onClick先触发,即便同时绑定。

解决办法

将onClick换成onMouseDown

效果图

在这里插入图片描述


在这里插入图片描述


在这里插入图片描述

发布了396 篇原创文章 · 获赞 786 · 访问量 16万+

猜你喜欢

转载自blog.csdn.net/qq_42813491/article/details/103832095