有一个input和一个div,相互没有重叠,input初始时是显示的,div是隐藏的现在要实现以下需求input获得焦点时,div显示,input失去焦点,但鼠标点的不是那个div时,div隐藏,否则div不隐藏就是说,当鼠标点input,input获得焦点了,用onfocus便可实现将div显示出来。onblur可以实现将div隐藏。可是我现在要实现当onblur时,如果鼠标点的刚好是那个div,则这个div不隐藏。我给div加了onclick或onfocus,设置其为显示,但是无效。因为div还没来得及触发事件,就已经被input的onblur函数给隐藏掉了。
解决方案 »
- 剪贴板兼容性问题
- 使用js调用两次冲突...我也知道是ID不能重复但是不懂怎么改..
- 用if(count>3){ext.messageBox.alert("","");return false;} 怎么还是往下走??
- 如何让一个文本框 在可编辑和不可编辑之间转换-.net可编辑的表格是如何实现的
- Javascrip怎样动态显示计算结果?
- 急问!js问题 循环变量出错!在线等待!
- javascript能否从服务器端获取数据?
- 请教JS高手:怎样能修改DIV中的offsetTop属性
- 那有javascript 或者html /dhtml的开手人员参考手册。 在M$的网点上有html/dhtml的reference 但还像没有下载,只能在行查询(不方便)。
- 求教怎么用jquery写这段代码
- 动态生成的tr能够被排序吗?
- "2009/12/4 12:19:43" 字符串转换成js中的时间类型
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title> Tips </title>
<style>
body {
font-size: 12px;
}
#banner {
width: 150px;
height: 25px;
border: 1px solid #009900;
background-color: #009900;
display: block;
text-align: center;
position: absolute;
left: 100px;
top: 100px;
}
#tip {
width: 150px;
height: 130px;
border: 1px solid #FFCC66;
background-color: #FFFFCC;
position: absolute;
text-align: center;
}
</style>
</head> <body>
<span id="banner">banner</span>
<div id="tip">MessageBox</div>
<script type="text/javascript">
<!--
(function(){
var $ = function(id) { return document.getElementById(id) };
var getPos = function(e){ var ix = iy = 0; do { ix += e.offsetLeft;iy += e.offsetTop;}while(e = e.offsetParent);return {'x': ix, 'y': iy};}
var stopBub = function(e) { e = e || window.event;if(e && e.stopPropagation){e.stopPropagation();}else{e.cancelBubble = true;}}
$('banner').onmouseover = function(e){
$('tip').style.left = getPos(this).x + 'px';
$('tip').style.top = (getPos(this).y + this.offsetHeight) + 'px';
$('tip').style.display = 'block';
stopBub(e);
}
document.onmouseover = function(){
$('tip').style.display = 'none';
}
$('tip').onmouseover = function(e) {
stopBub(e);
}
})();
//-->
</script>
</body>
</html>
应该默认display:none;