当前位置: 首页 > Web前端 > HTML5

输入输入模糊和点击事件冲突

时间:2023-04-05 15:02:56 HTML5

1。问题描述实现功能:当input输入框获得焦点时,显示清除按钮;失焦时,隐藏清除按钮;单击清除按钮时,输入被清除。问题:点击清除按钮时,输入没有被清除,也就是说没有触发点击事件。为什么是这个相关代码:

//清除输入clearFn()this.phone=''},//聚焦focus(){this.isClearPhoneShow=true}//失焦blur(){this.isClearPhoneShow=false}2.分析原因这是因为blur事件在点击事件之前触发,而javascript是单线程的,只有一个事件可以被同时执行和处理,所以当blurhandler被执行时,后续的点击事件将不会被执行。3.解决方案如果click事件在blur事件之前触发就没有问题,那么可以延迟触发blur事件//失焦blur(){setTimeout(()=>{that.isClearPhoneShow=false},100)}4.其他解决方法在本文中提供方法,供参考https://www.jianshu.com/p/ad8...