怎么让DIV失去焦点后隐藏自身 本帖最后由 Jasmine_xiaocao 于 2012-05-15 16:16:47 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 onmouseout不适于这个场景,我需要是失去焦点时触发这个事件,可以实现吗 <!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><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>无标题文档</title><script src="file:///D|/NetChina/mapInfo/jquery_1.4.2.js"></script></head><body><div id="frist"> <ul> <li><a href="#" name="f1">one</a></li> <li><a href="#" name="f2">two</a></li> </ul></div><div id="second"> <ul> <li><a href="#" name="f3">Three</a></li> <li><a href="#" name="f4">four</a></li> </ul></div><script>$(document).ready(function(){ //当焦点离开已选的a时触发 $("a[name^='f']").blur(function (){ $(this).parent().parent().css("display","none"); }); });</script></body></html> 这个只能实现离开选择的<a>标签时隐藏div,我希望实现离开整个div时触发这个事件 你是使用jquery,介绍jquery内的一个方法给你. hover(over,out);看看说明:一个模仿悬停事件(鼠标移动到一个对象上面及移出这个对象)的方法。这是一个自定义的方法,它为频繁使用的任务提供了一种“保持在其中”的状态。当鼠标移动到一个匹配的元素上面时,会触发指定的第一个函数。当鼠标移出这个元素时,会触发指定的第二个函数。而且,会伴随着对鼠标是否仍然处在特定元素中的检测(例如,处在div中的图像),如果是,则会继续保持“悬停”状态,而不触发移出事件(修正了使用mouseout事件的一个常见错误)。 div不支持blur事件,没有办法了... <a href="javascript:;" id="moveto" onclick="show('moveto', 'movefolder')" rel='0' class="btn_white op"><span>操作</span></a><div class="caozuo-type" id="movefolder" style="display:none;"><ul> <li><a href="#" >基础信息</a></li> <li><a href="#" >联系方式</a></li> <li><a href="#" >求职意向</a></li> <li><a href="#" >教育经历</a></li> <li><a href="#" >培训经历</a></li> <li><a href="#" >工作经历</a></li></ul></div><div id="view"><a href="#">预览</a></div><script type="text/javascript" src="js/jquery.js"></script><script type="text/javascript">function show(id, id2){ if($('#'+id).attr('rel') == '0') { $('#'+id2).show(); $('#'+id).attr('rel', 1); } else { $('#'+id2).hide(); $('#'+id).attr('rel', 0); }}$('#movefolder').mouseover(function(){ $('#moveto').attr('rel', 2);});$('#movefolder').mouseout(function(){ $('#moveto').attr('rel', 1);});$("body").mousedown(function(e){ if(e.which==1){ if($('#moveto').attr('rel') == 1) { show('moveto', 'movefolder'); } }});</script>多谢大家的帮忙了,问题已经解决 有一个很笨的方法就是在body里绑定一下onclick事件,然后判断那个点击事件的srcElement是否等于你那个div,不是的话就隐藏 dTree 报out of memery Jquery.Ajax返回XML解析问题(在线等) 谁看得懂这段javascript代码 asp里留言 提交表单时判断有的用户没填, 如何用javaScript实现 求20位以内数字的排列方法 JS 浮动广告图片 哪位大哥帮我看看为什么这段代码在ie里运行与在netscape里运行结果不同 如何用javascript语句实现字体的下划线? 简单问题.. JavaScript怎样获得系统日期?谢谢! 回车提交表单和按钮提交表单的问题 请高手看看图片滚动的问题。
onmouseout不适于这个场景,我需要是失去焦点时触发这个事件,可以实现吗
<!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>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<script src="file:///D|/NetChina/mapInfo/jquery_1.4.2.js"></script>
</head><body>
<div id="frist">
<ul>
<li><a href="#" name="f1">one</a></li>
<li><a href="#" name="f2">two</a></li>
</ul>
</div><div id="second">
<ul>
<li><a href="#" name="f3">Three</a></li>
<li><a href="#" name="f4">four</a></li>
</ul>
</div>
<script>
$(document).ready(function(){
//当焦点离开已选的a时触发
$("a[name^='f']").blur(function (){
$(this).parent().parent().css("display","none");
}); });
</script>
</body>
</html>
一个模仿悬停事件(鼠标移动到一个对象上面及移出这个对象)的方法。这是一个自定义的方法,它为频繁使用的任务提供了一种“保持在其中”的状态。
当鼠标移动到一个匹配的元素上面时,会触发指定的第一个函数。当鼠标移出这个元素时,会触发指定的第二个函数。而且,会伴随着对鼠标是否仍然处在特定元素中的检测(例如,处在div中的图像),如果是,则会继续保持“悬停”状态,而不触发移出事件(修正了使用mouseout事件的一个常见错误)。
<a href="javascript:;" id="moveto" onclick="show('moveto', 'movefolder')" rel='0' class="btn_white op"><span>操作</span></a>
<div class="caozuo-type" id="movefolder" style="display:none;">
<ul>
<li><a href="#" >基础信息</a></li>
<li><a href="#" >联系方式</a></li>
<li><a href="#" >求职意向</a></li>
<li><a href="#" >教育经历</a></li>
<li><a href="#" >培训经历</a></li>
<li><a href="#" >工作经历</a></li>
</ul>
</div>
<div id="view">
<a href="#">预览</a>
</div>
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript">
function show(id, id2)
{
if($('#'+id).attr('rel') == '0')
{
$('#'+id2).show();
$('#'+id).attr('rel', 1);
}
else
{
$('#'+id2).hide();
$('#'+id).attr('rel', 0);
}
}
$('#movefolder').mouseover(function(){
$('#moveto').attr('rel', 2);
});
$('#movefolder').mouseout(function(){
$('#moveto').attr('rel', 1);
});$("body").mousedown(function(e){
if(e.which==1){
if($('#moveto').attr('rel') == 1)
{
show('moveto', 'movefolder');
}
}
});
</script>
多谢大家的帮忙了,问题已经解决