发现浏览器的一个BUG,诡异的focus聚焦事件
1. 发现过程
最近在做一个文本输入框,由于测试经常点击控制台上面的东西,结果就发现输入框本身的聚焦事件有些不太正常
2. DEMO 重现
具体操作如下,先点击 input 框聚焦,然后点击任意浏览器外的地方让 input 失焦,这个时候数组中为 ['focus', 'blur']。这个时候在回到浏览器点击页面任意地方
神奇的事情发生了,input居然在没有选中的情况下触发了 focus 事件。可以看到 input 框闪了一下,数组变为了 ['focus', 'blur', 'focus', 'blur']。
按道理离开浏览器 input 已经失去焦点了,再回到浏览器也不应该再触发 foucs 和 blur 了。
3.结语
暂时还不太清楚这个是啥情况,虽然一般情况下用户不会做这种操作,平常不注意的时候可能也不太能注意到。
但就是比较诡异,尤其是 input 加上了动画效果之后会更加明显,不太清楚为什么会有这样的 BUG,浏览器会记录上一次 focus 的对象没有清空? 还是说有事件推送被暂停了?
有懂的大佬可以说一下