ie focus bug 解决方法


如果把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>



相关阅读:
透析PHP的配置文件php.ini
认识浏览器:Google Chrome 浏览器
重命名administrator账号的批处理文件
CSS中水平居中和垂直居中的几种方法
Grub不破坏MBR安装Ubuntu两法
Array对象方法参考
js正则匹配table tr
利用FSO取得BMP,JPG,PNG,GIF文件信息
document.createElement("A")比较不错的属性
Gregarius中文日期格式问题解决办法
轻松理解SCN与TimeStamp的相互转换
数据库查询中的特殊字符的问题
ASP编程中连接数据库和数据库操作的常用代码
Windows7系统技巧:彻底卸载IE8浏览器
快速导航

Copyright © 2016 phpStudy |