focus()方法用于将焦点放在文本框或其他html组件上。 这是一个简单的示例,可在页面加载后自动使文本框成为焦点。
focus is not working in IE
上面的代码在Firefox(FF)中工作正常,但在Internet Explorer(IE)中却无法正常工作。 IE实际上支持focus()方法,我们只需要使用其他方式来编写focus方法即可。
根据我的个人观察,这是因为IE在文本框正确呈现之前运行focus()方法。 但是,将Javascript放在文本框之后,可以在文本框完全呈现自身之后执行focus()方法,这可能是IE将其视为其他方式吗? 是的,IE始终具有“仅IE”实现...
这是一个非正式的解决方案,我们必须使用setTimeout()功能来延迟focus()执行时间。
setTimeout(function() { document.getElementById('myInput').focus(); }, 10);
在延迟执行时间之后,focus()在IE甚至FF中都可以正常工作。
focus is working in IE
参考
setTimeout()– http://www.w3schools.com/htmldom/met_win_settimeout.asp
标签: JavaScript
翻译自: https://mkyong.com/javascript/focus-is-not-working-in-ie-solution/