click和blur事件冲突解决方案

Posted 夏空

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了click和blur事件冲突解决方案相关的知识,希望对你有一定的参考价值。

场景:例如做一个模仿百度搜索的搜索框,输入文字下面会有匹配项,当点击下拉项中的值时,就将值添加到搜索框中同时隐藏下拉框,点击其他地方就直接隐藏下拉框,这时所需要的事件分别为 下拉框事件onclick,输入框事件onblur,但是实际会出现想选中下拉框却先触发了onblur事件导致onclick无法执行。原因是因为JS是单线程,同一时间只能处理一个事件,且blur执行顺序优先click.

解决方案:将onclick改为onmousedown即可。

以上是关于click和blur事件冲突解决方案的主要内容,如果未能解决你的问题,请参考以下文章

js中blur和click事件的冲突

如何解决blur事件和click事件冲突问题

click和blur事件冲突解决方案

下拉框选择blur与click冲突问题

解决blur与click冲突

click和blur冲突的问题