Javascript 当textarea/input打开模糊/失去焦点时仍显示div

Javascript 当textarea/input打开模糊/失去焦点时仍显示div,javascript,html,onblur,onfocus,Javascript,Html,Onblur,Onfocus,因此,我尝试使用onfocus和onblur隐藏/显示div元素: <textarea onfocus="document.getElementById('divID1').style.display='block';" onblur="document.getElementById('divID1').style.display='none';"></textarea> <div id="divID1"> 这很好,但问题是当textarea/input

因此,我尝试使用onfocus和onblur隐藏/显示div元素:

<textarea onfocus="document.getElementById('divID1').style.display='block';" onblur="document.getElementById('divID1').style.display='none';"></textarea>
<div id="divID1">

这很好,但问题是当textarea/input不再具有焦点时,div会再次隐藏

这是全部代码:。
您可以看到无法选中复选框或选择文本

当textarea失去焦点时,我能做些什么来保持显示div元素,或者当我点击div时,使textarea保持焦点

对不起,我对Javascript还不熟悉

提前感谢,

Philipp

通过在模糊操作上添加非常短的延迟(设置超时),复选框可以工作。 例如:

setTimeout(function(){
document.getElementById('divID2').style.display='none';
}, 100);

下面是一个问题。

这个问题不是一个小问题,但是根据,它可以通过以下方式解决:

HTML




这是蓝色的


复选框A 这是绿色的


复选框B
Javascript

var电流=null//当前显示的div-divID1或divID2
功能聚焦控制器(id){
如果(当前!==null){
current.style.display='none';
}
var div=document.getElementById(id);
div.style.display='block';
电流=div;
}
函数clickhandler(e){
if(current==null){//如果两个div都被隐藏
返回;
}
e=e | | window.event;//用于IE8,7兼容性
var t=e.target | | e.srcElement;//单击的元素
var-sig=false;
//现在检查所有家长
while(t){
if(t==current | | t.nodeName==TEXTAREA'){
sig=真;
}
t=t.parentNode;
}
如果(信号){
返回;
}
current.style.display='none';
电流=零;
}
if(document.documentElement.addEventListener){
document.documentElement.addEventListener('click',clickhandler,false);
}else if(document.documentElement.attachEvent){//IE8-7兼容性
document.documentElement.attachEvent('onclick',clickhandler);
}
:(适用于Firefox、Chrome、IE7-10、Safari和Opera)。或者,您也可以使用这个稍加修改的代码:(效果相同)


更新的CSS:根据,这些元素可以更好地定位,如下图所示:

我不明白,你想在模糊中隐藏它,但保持它的显示不聚焦??不,如果你在div或文本区域之外单击,我想隐藏它。就像文本区域和div一样。这很酷,但是在你点击文本区域或div之外之前,没有办法让div一直保持在那里吗?谢谢,很高兴它能帮上忙!;-)