前言
最近在项目中遇到一个场景,就是在校验输入框失焦(blur)事件后,第一次点击时按钮的点击事件失效,后来排查,发现原因,是因为第一次点击时先走了blur事件,然后再走点击事件,所以导致第一次点击按钮失效。
出现bug的原因
由于浏览器的默认事件,当你点击按钮时,页面中有文本框失焦时,会先触发文本框的blur事件,然后再触发click事件,所以导致了上述的bug。解决方案如下。
解决方案
pc端:使用mousedown
事件来代替click事件
移动端:使用touchstart
事件来代替click事件
网友评论