在 Internet Explorer 和 Opera 中聚焦输入字段
在 JavaScript 中使用 focus() 方法时,在某些浏览器中可能会出现一些问题。此问题突出显示 focus() 在 Internet Explorer 7 中不起作用,导致光标位于所需输入字段之外的问题。
Internet Explorer 的解决方案:
In Internet Explorer 中的 focus() 由于其惰性性质而需要一些额外的关注。要解决此问题,请使用 setTimeout() 函数。例如:
setTimeout(function() { document.getElementById('myInput').focus(); }, 10);
Opera 解决方案:
对于 Opera,考虑探索与在文本框所需索引中设置焦点相关的解决方案。
改进了对延迟元素可用性的处理:
在某些情况下,元素可能无法立即可用,从而导致输入字段失去焦点。为了解决这个问题,以下改进的代码会在短时间间隔后重试焦点:
setTimeout( function( ) { var el = document.getElementById( "myInput" ) ; ( el != null ) ? el.focus( ) : setTimeout( arguments.callee , 10 ) ; } , 10 ) ;
以上是为什么 `focus()` 在 Internet Explorer 和 Opera 中不起作用?的详细内容。更多信息请关注PHP中文网其他相关文章!