• blur事件:当元素失去焦点时触发blur事件;blur和focus事件不会冒泡,其他表单事件都可以
  • click事件:当点击元素时触发click事件;所有元素都有此事件,会产生冒泡。

在开发过程中遇到搜索框显示查询建议信息时,使用blur去关闭下拉框,单点击下拉框内容时,blur事件先于click事件,导致下拉框直接关闭,未能执行click事件

解决方案一:

使用setTimeout将blur事件延迟进行,但会产生一种停顿感

解决方案二:

将click事件换成mousedown事件,这样事件的执行顺序就变成mousedown > mouseup > click

芝士
4 声望3 粉丝

小小小小白