zoukankan      html  css  js  c++  java
  • ie focus bug

    在IE中,新创建的input没有如预期的获得焦点。

    如果把input.focus()放在一个setTimeout中延时执行,则就可以获得焦点。

      (function(){
            
            
            function get(id){
                return document.getElementById(id);
            }
            
            window.onload = function(){
                get('makeinput').onmousedown = function(){
                    var input = document.createElement('input');
                    input.setAttribute('type', 'text');
                    input.setAttribute('value', 'test1');
                    get('inpwrapper').appendChild(input);
                    input.focus();
                    input.select();
                }
                get('makeinput2').onmousedown = function(){
                    var input = document.createElement('input');
                    input.setAttribute('type', 'text');
                    input.setAttribute('value', 'test1');
                    get('inpwrapper2').appendChild(input);
                    setTimeout(function(){
                        input.focus();
                        input.select();
                    }, 0);
                }
                get('input').onkeypress = function(){
                    get('preview').innerHTML = this.value;
                }
            }
        })();
    
        <h1><code>setTimeout</code></h1>
        <h2>1、未使用 <code>setTimeout</code></h2>
        <button id="makeinput">生成 input</button>
        <p id="inpwrapper"></p>
        <h2>2、使用 <code>setTimeout</code></h2>
        <button id="makeinput2">生成 input</button></h2>
        <p id="inpwrapper2"></p>
        <h2>3、另一个例子</h2>
        <p><input type="text" id="input" value=""/><span id="preview"></span></p>
    
  • 相关阅读:
    easy ui 常用控件配置
    oracel 查询语句
    .Net 取树形结构的数据
    Asp.Net Core File的操作
    js 页面技巧
    ASP.NET Core 文件上传
    ASP.NET EF实体主外键关系
    ASP.NET MVC 后台传值前端乱码解决方案 富文本Ueditor编辑
    手机访问网站自动跳转到手机版
    Ecshop布局参考图
  • 原文地址:https://www.cnblogs.com/rubylouvre/p/2538523.html
Copyright © 2011-2022 走看看