html文本框提示信息的onblur跟oncclik事件的问题
详细描述:我有个text文本框,当它获得焦点下面有个隐藏的DIV显示出来,DIV里有10行数据项,这时我要click点中某个数据项将其显示到文本框中,但是当点的时候文本框...
详细描述:我有个text文本框,当它获得焦点下面有个隐藏的DIV显示出来,DIV里有10行数据项,这时我要click点中某个数据项将其显示到文本框中,但是当点的时候文本框我已经设置有个blur失去焦点的事件,导致DIV隐藏, 从而点不到DIV,这个怎么解决?所以,我是想要文本框失去焦点时候div隐藏,但当鼠标有对div点击事件时应将选中的值先显示到文本框中再隐藏div。跪求大侠指点,O(∩_∩)O谢谢!!!采纳的还会加分!3Q!~
展开
展开全部
看看是不是要这个效果:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title> New Document </title>
<meta name="Generator" content="EditPlus">
<meta name="Author" content="">
<meta name="Keywords" content="">
<meta name="Description" content="">
</head>
<body>
<input type="text" id="txt"><br>
<div id="msg" style="display:none;border:1px dotted blue;width:300px;">
<span>这里是第1行数据</span><br>
<span>这里是第2行数据</span><br>
<span>这里是第3行数据</span><br>
<span>这里是第4行数据</span><br>
<span>这里是第5行数据</span><br>
<span>这里是第6行数据</span><br>
<span>这里是第7行数据</span><br>
<span>这里是第8行数据</span><br>
<span>这里是第9行数据</span><br>
<span>这里是第10行数据</span><br>
</div>
<script language="JavaScript">
<!--
var flag = false;
var txt = document.getElementById("txt");
var div = document.getElementById("msg");
txt.onblur = function() {
if (!flag)
{
div.style.display = "none";
}
}
txt.onfocus = function() {
div.style.display = "block";
flag = true;
}
var spans = div.childNodes;
for (var i=0;i<spans.length ; i++)
{
spans[i].onclick=function() {
txt.value = this.innerText;
div.style.display="none";
}
}
//-->
</script>
</body>
</html>
追问
你实现的思路是对的,但是失去焦点时候不能隐藏div,在你的基础上我稍加改动一点就行了,增加一个鼠标滑动到div的事件,让标志flag=true,就实现了。还是非常感谢你给了我思路!
追答
ok....
展开全部
<!DOCTYPE html >
<html>
<head>
<meta charset=UTF-8>
<title>Document</title>
</head>
<body>
<input type="text" id="tete" onfocus="document.getElementById('div').style.display='block';" />
<div id="div" style="display: none;">
<input type="text" value="1" onclick="document.getElementById('tete').value=this.value;this.parentElement.style.display='none';" /><br/>
<input type="text" value="2" onclick="document.getElementById('tete').value=this.value;this.parentElement.style.display='none';" /><br/>
<input type="text" value="3" onclick="document.getElementById('tete').value=this.value;this.parentElement.style.display='none';" /><br/>
<input type="text" value="4" onclick="document.getElementById('tete').value=this.value;this.parentElement.style.display='none';" /><br/>
<input type="text" value="5" onclick="document.getElementById('tete').value=this.value;this.parentElement.style.display='none';" />
</div>
</body>
</html>
追问
sorry,你的这个没有失去焦点事件的功能,而且也不是我描述的呢
追答
自己写
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询