js 输入框获取焦点显示div 失去焦点隐藏div 点击div也消失了怎么解决

<inputtype="text"id="td"><divid="td1"style="width:100px;height:100px;background:red;d... <input type="text" id="td">
<div id="td1" style="width:100px;height:100px;background:red; display:none;" tabindex=0></div>
<script>
var a = document.getElementById('td');
var a1 = document.getElementById('td1');
var p=null;
console.log(a);
a.onfocus = function(){
a1.style.display='block';
}
a.onblur = function(){
p=setTimeout(function(){
a1.style.display='none';
},300);
}
a1.onclick = function(){
a1.onfocus = function(){
clearTimeout(p);
}
}
a1.onblur = function(){
a1.style.display = 'none';
}
</script>
展开
 我来答
遗忘的JY_ajue
2016-12-11 · TA获得超过819个赞
知道小有建树答主
回答量:263
采纳率:75%
帮助的人:68.7万
展开全部
应该是获取焦点对象不准确导致,举个例子,获取iuput焦点的时候显示div失去这隐藏可以给这个input和这个div一个id,还有就是这个input和这个div是同级关系不能是嵌套
百度网友6a957b7
推荐于2017-11-23 · TA获得超过1124个赞
知道小有建树答主
回答量:513
采纳率:0%
帮助的人:347万
展开全部
你代码贴上来啊, 首先要看你怎么写的,才知道该怎么解答
追问
你好 ,请帮吗看下补充 为什么点击div 不能使他获得焦点
追答
点击DIV不隐藏DIV就把下面这段删了。
a1.onblur = function(){
a1.style.display = 'none';
}
点击DIV使文本框获得焦点,改成下面这段代码
a1.onclick = function () {
a.focus();
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式