focus()在IE中不起作用? –解决方案

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

翻译自: https://mkyong.com/javascript/focus-is-not-working-in-ie-solution/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值