今天在群里碰到一个朋友问到一个问题,说是当一个控件失去焦点后,判断另一个控件是否获得焦点,当时想也没想,直接一句
if(id.focus()){},感觉没有什么问题了,结果朋友说不成,我想不会呀,就去测试一下,果真不行,难道id.focus()返回的不是true or false吗?
最后在网上查了一资料,结果是让我汗了,呵呵,原来document里自带的检测焦点所属控件的属性。写出来,经IE测试,OK.嘿嘿。
<html>
<head>
<script type="text/javascript">
var t1=document.getElementById("txt1");
function isFocus(){
if(document.activeElement.id=='txt2'){
alert('txt2获得焦点');
}
else{
alert('txt2未获得焦点');
}
}
</script>
</head>
<input id="txt1" type="text" value="aaaaa" onblur="isFocus()">
<input id="txt2" type="text" value="bbbbb">
<input id="txt3" type="text" value="cccc">
</html>
<head>
<script type="text/javascript">
var t1=document.getElementById("txt1");
function isFocus(){
if(document.activeElement.id=='txt2'){
alert('txt2获得焦点');
}
else{
alert('txt2未获得焦点');
}
}
</script>
</head>
<input id="txt1" type="text" value="aaaaa" onblur="isFocus()">
<input id="txt2" type="text" value="bbbbb">
<input id="txt3" type="text" value="cccc">
</html>