JS:子元素 onmouseover 触发了父元素的 onmouseout,子元素的onmouseout 同时也触发 父元素的 onmouseout

JS:子元素onmouseover触发了父元素的onmouseout,子元素的onmouseout同时也触发父元素的onmouseout<divstyle="height... JS:子元素 onmouseover 触发了父元素的 onmouseout,子元素的onmouseout 同时也触发 父元素的 onmouseout
<div style="height:128px; width:128px;border:1px solid #000" id="div">
<div style="height:24px; width:24px; border:1px solid #f00" id="div_div">
</div>
</div>

<script>
function $(_id){ return document.getElementById(_id)}
var _p=$("div");
var _c=$("div_div");
_p.onmouseover=function(e){
}
_p.onmouseout=function(e){
alert('鼠标离开')
}

_c.onmouseover=function(e){
}

_c.onmouseout=function(e){

}
</script>
展开
 我来答
41907446
2011-09-15 · 超过19用户采纳过TA的回答
知道答主
回答量:95
采纳率:100%
帮助的人:34万
展开全部
_p.onmouseover=function(e){
可以在这里同时写鼠标经过时_p和_c的状态,其它事件类似
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
nx8823520
2011-09-20 · TA获得超过648个赞
知道小有建树答主
回答量:324
采纳率:0%
帮助的人:341万
展开全部
你这个是典型的事件冒泡噢。你只需要在进入子层的时候阻止冒泡就好了

<html>
<head>
</head>
<body>
<div style="height:128px; width:128px;border:1px solid #000;padding:20px;" id="divs">
<div style="height:24px; width:24px; border:1px solid #000;background:#fff" id="div_div">
</div>
</div>

<script>
function $(_id){ return document.getElementById(_id)}
var _p=$("divs");
var _c=$("div_div");
_p.onmouseover=function(e){

}
_p.onmouseout=function(e){

alert("鼠标离开DIV")
}

_c.onmouseover=function(e){

}

_c.onmouseout=function(e){
if(e){
e.stopPropagation()
}else{
window.event.cancelBubble = true;
}
}
</script>
</body>
</html>
追问
不行
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友a7339fa40
2011-09-14 · TA获得超过703个赞
知道小有建树答主
回答量:389
采纳率:0%
帮助的人:242万
展开全部
代码贴出来!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式