关于js中focus的问题
写input处理用户输入的时候,想添加一个字段不能为空的功能。如果为空则在input的blur(失去焦点)事件发生时,调用focus把焦点拉回来。但是在谷歌上试了很多次都没有效果。后来看到有的博客说focus要写在settimeout中,自己尝试后发现此方法有效。大概的原因肯定跟事件队列有关,但是才疏学浅..具体原因就不知道了。
在此记录下这个问题:
setTimeout(() => {
node.focus()
}, 0);