如何在不同浏览器中可靠地设置输入元素的焦点?
IE 和 Focus 事件问题
focus() 事件在 Internet Explorer 中可能不可靠。当尝试使用以下函数将光标焦点设置在输入元素上时:
function change() { var input = document.getElementById('pas'); var input2 = input.cloneNode(false); input2.type = 'password'; input.parentNode.replaceChild(input2, input); input2.focus(); }
登录后复制
IE7 将不会响应 focus() 调用,从而将光标留在输入元素之外。要在 IE 中纠正此问题,请使用 setTimeout 函数:
setTimeout(function() { document.getElementById('myInput').focus(); }, 10);
登录后复制
Opera Woes
但是,使用此解决方案会在 Opera 中引入新的困境。要解决此问题,请参阅“如何在 Opera 文本框上的所需索引中设置焦点”等资源。
通用解决方案
为了确保所有浏览器之间的兼容性,请合并处理输入元素无法立即可用的情况的代码片段:
setTimeout( function( ) { var el = document.getElementById( "myInput" ) ; ( el != null ) ? el.focus( ) : setTimeout( arguments.callee , 10 ) ; } , 10 ) ;
登录后复制
此片段每 10 毫秒重试一次焦点,直到元素变得可用,解决了页面加载缓慢和元素延迟的问题可用性。
以上是如何在不同浏览器中可靠地设置输入元素的焦点?的详细内容。更多信息请关注PHP中文网其他相关文章!
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章
如何修复KB5055612无法在Windows 10中安装?
4 周前
By DDD
<🎜>:泡泡胶模拟器无穷大 - 如何获取和使用皇家钥匙
4 周前
By 尊渡假赌尊渡假赌尊渡假赌
<🎜>:种植花园 - 完整的突变指南
3 周前
By DDD
北端:融合系统,解释
4 周前
By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆树的耳语 - 如何解锁抓钩
3 周前
By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

在本周的平台新闻综述中,Chrome引入了一个用于加载的新属性,Web开发人员的可访问性规范以及BBC Move

有很多分析平台可帮助您跟踪网站上的访问者和使用数据。也许最著名的是Google Analytics(广泛使用)
