首页 > web前端 > css教程 > 正文

如何在 IE 和 Opera 中聚焦克隆的输入字段?

Susan Sarandon
发布: 2024-10-31 13:23:01
原创
320 人浏览过

How to Focus a Cloned Input Field in IE and Opera?

IE 和 Opera 中的 FOCUS 输入字段问题

问题:

以下代码失败在 Internet Explorer 7 中聚焦克隆的输入字段:

function change() {
    var input = document.getElementById('pas');
    var input2 = input.cloneNode(false);
    input2.type = 'password';
    input.parentNode.replaceChild(input2, input);
    input2.focus();
}
登录后复制

IE 解决方案:

Internet Explorer 在聚焦元素方面是出了名的“懒惰”。要解决此问题,您可以使用 setTimeout 函数:

setTimeout(function() { document.getElementById('myInput').focus(); }, 10);
登录后复制

Opera 解决方案:

在 Opera 中,您可能会遇到将焦点设置在创建的元素上的问题动态或在页面加载后出现。请参阅以下资源以获取潜在的解决方案:

  • [如何在 Opera 文本框上的所需索引中设置焦点](https://stackoverflow.com/questions/2099366/how-to-set- focus-in-required-index-on-textbox-for-opera)

增强的解决方案:

处理元素可能不可用的情况立即,您可以使用以下代码片段:

setTimeout(

    function( ) {

        var el = document.getElementById( "myInput" ) ;
        ( el != null ) ? el.focus( ) : setTimeout( arguments.callee , 10 ) ;

    }

, 10 ) ;
登录后复制

此代码每 10 毫秒重试一次聚焦元素,直到它可用,解决加载缓慢或元素出现延迟的潜在问题。

以上是如何在 IE 和 Opera 中聚焦克隆的输入字段?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!