有谁遇到这样的问题! http://topic.csdn.net/u/20090114/11/fc346aaa-e799-4f42-8013-76fd513ca7be.html 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我的和他的不一样的, 他那个是事件冒泡所产生的, 但是我的里面的div是没有事件的, 所以不会产生他那种情况!!! 我的html:<div id="todaydiary_box20" class="todaydiary_box" onmouseout="out(id)" style="display: none;"> <div id="todaydiary_list20" class="todaydiary_list" style="display: none;"> </div> <div id="todaydiary_list20" class="todaydiary_list" style="display: none;"> </div></div>这个方法:onmouseout="out(id)" js: function out(id) { $("#"+id).fadeOut("slow", function(){ $("#"+id+" .todaydiary_list").hide(); }); } 当我移到里面的div id="todaydiary_list20"时, 已经执行了out()了!!! http://topic.csdn.net/u/20090114/11/fc346aaa-e799-4f42-8013-76fd513ca7be.html中我有回答 要么用层,要么在内部div里判断 你看下这个效果吧<div onmouseout="this.style.display='none';" onmouseover="this.parentNode.style.display='';" style="width:200px; background-color:#CCCCCC">topdiv <div onmouseover="this.parentNode.onmouseout=null;this.parentNode.style.display='';" onmouseout="this.parentNode.onmouseout=function(){this.parentNode.style.display='none';}" style="width:100px; background-color:#999999"> innerdiv </div></div> function out(id, event){ var parent = document.getElementById(id) if(typeof(HTMLElement)!="undefined") //给firefox定义contains()方法,ie下不起作用 { HTMLElement.prototype.contains=function(obj) { while(obj!=null&&typeof(obj.tagName)!="undefind"){ //通过循环对比来判断是不是obj的父元素 if(obj==this) return true; obj=obj.parentNode; } return false; }; } if ($.browser.mozilla) { if (!parent.contains(event.relatedTarget)) { //如果是子元素 $("#"+id).fadeOut(3000, function(){ $("#"+id+" .todaydiary_list").hide(); }); } } else { if (!parent.contains(event.toElement)) { $("#"+id).fadeOut(3000, function(){ $("#"+id+" .todaydiary_list").hide(); }); } }} js 复制内容到剪贴板 需要在遨游下可用 求 火箭VS爵士 第三场 急急急,html的onclick的问题? 在不出现滚动条的情况下,利用鼠标滚轮滚动页面,如何实现? 节点属性/方法问题,在IE下出错,在Firefox下没错? 关于js对象、继承、原型链。你想了解什么? textarea编辑的问题(有一定难度) 急!拦截“close”(X)按钮的问题? DropDown问题? 一个有关mediaplayer的问题,在先给分 一个Form4个Submit用JS就是不好使!望指点!! 文本框太短,显示不完整,如何获得焦点时,提示???
<div id="todaydiary_box20" class="todaydiary_box" onmouseout="out(id)" style="display: none;">
<div id="todaydiary_list20" class="todaydiary_list" style="display: none;">
</div>
<div id="todaydiary_list20" class="todaydiary_list" style="display: none;">
</div>
</div>这个方法:onmouseout="out(id)"
js:
function out(id)
{
$("#"+id).fadeOut("slow", function(){
$("#"+id+" .todaydiary_list").hide();
});
}
当我移到里面的div id="todaydiary_list20"时, 已经执行了out()了!!!
<div onmouseout="this.style.display='none';" onmouseover="this.parentNode.style.display='';" style="width:200px; background-color:#CCCCCC">topdiv
<div onmouseover="this.parentNode.onmouseout=null;this.parentNode.style.display='';" onmouseout="this.parentNode.onmouseout=function(){this.parentNode.style.display='none';}" style="width:100px; background-color:#999999">
innerdiv
</div>
</div>
{
var parent = document.getElementById(id)
if(typeof(HTMLElement)!="undefined") //给firefox定义contains()方法,ie下不起作用
{
HTMLElement.prototype.contains=function(obj)
{
while(obj!=null&&typeof(obj.tagName)!="undefind"){ //通过循环对比来判断是不是obj的父元素
if(obj==this) return true;
obj=obj.parentNode;
}
return false;
};
}
if ($.browser.mozilla)
{
if (!parent.contains(event.relatedTarget)) { //如果是子元素
$("#"+id).fadeOut(3000, function(){
$("#"+id+" .todaydiary_list").hide();
});
}
}
else
{
if (!parent.contains(event.toElement)) {
$("#"+id).fadeOut(3000, function(){
$("#"+id+" .todaydiary_list").hide();
});
}
}
}