今天写一个输入框input,在输入框input获得焦点是显示一个下拉框select,而当这个输入框失去焦点时,隐藏这个下拉框,不过有个例外,就是焦点在下拉框上面,就不隐藏。所以我在input失去焦点是(点击的下拉框),判断获得焦点的是不是下拉框,如果是,就不隐藏,不是的话就隐藏。onBlur(){
var act = document.activeElement.nodeName;
console.log(act) // this.hour.style.display='none'
// this.min.style.display='none'
}
然而在我点击下拉框是,按理说input输入框失去焦点是,获得焦点的是下拉框,可是控制台打印的却是body???
什么情况??
var act = document.activeElement.nodeName;
console.log(act) // this.hour.style.display='none'
// this.min.style.display='none'
}
然而在我点击下拉框是,按理说input输入框失去焦点是,获得焦点的是下拉框,可是控制台打印的却是body???
什么情况??
<input type="text" onblur="onBlur()" />
<select name="test">
<option value="" selected="selected">1</option>
<option value="">2</option>
</select>
<script type="text/javascript">
function onBlur(){
setTimeout(function(){
var act = document.activeElement.nodeName;
alert(act);
}, 100);
}
</script>
<datalist id="list">
<option>test1</option>
<option>2dawd</option>
<option>jrtdf</option>
</datalist>