ie focus bug 解决方法
ie focus bug 解决方法
发布时间:2016-12-30 来源:查字典编辑
摘要:如果把input.focus()放在一个setTimeout中延时执行,则就可以获得焦点。复制代码代码如下:(function(){func...

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

复制代码 代码如下:

<script type="text/javascript" >

(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;

}

}

})();

</script>

<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>

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新Javascript教程学习
热门Javascript教程学习
编程开发子分类