子元素触发了父元素的onmouseout事件。怎么解决能让子元素不触发 25

<style>div{position:absolute;width:100px;height:100px;background:#555;}</style><divon... <style>
div{
position:absolute;width:100px;height:100px;background:#555;
}

</style>
<div onmouseout='alert()'>
<button>123</button>
</div>
为什么鼠标移到按钮123上 还要出发alert() 怎么解决 会的话代码加上啊
网上的什么stopPropagation()都没有用
用JavaScript哦 不要用jquery 我不懂 他
展开
 我来答
horse爱前端
推荐于2018-03-28 · 一个简简单单的前端菜鸟
horse爱前端
采纳数:730 获赞数:3333

向TA提问 私信TA
展开全部
这就是一个阻止冒泡,你搜出来的那个是jq里面封装的阻止冒泡的方法,很好用,js里面相对来说复杂很多
function stopPropagation(e) {
e = e || window.event;
if(e.stopPropagation) { //W3C阻止冒泡方法
e.stopPropagation();
} else {
e.cancelBubble = true; //IE阻止冒泡方法
}
}
document.getElementById('need_hide').onclick = function(e) {
stopPropagation(e);
}
追问
你自己运行下 你看行不行。鼠标移动到button上和移出  还会alert
鞋子来啦
2015-03-16 · TA获得超过109个赞
知道答主
回答量:44
采纳率:0%
帮助的人:33.6万
展开全部
把父元素的mouseout也写了不就行了
$(parentNode).on("mouseout",function(){
//啥都不写就行了

});
//好嘛,不用jq
parentNode.onmouseout = function(e){
//啥都不要写

}

靠,你哪里来的父元素,就是body了嘛。。。。
完了,被误导了
你这个我知道一个办法,用JQ的
$(nageDiv).on("mouseleave",function(){
alert("DS");
//OK啦。这样保证不会移到btn还触发alert了
})
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
明知没有理由丷dhdfa
2015-03-11 · TA获得超过486个赞
知道小有建树答主
回答量:545
采纳率:0%
帮助的人:187万
展开全部
当你滑过子元素的时候必须经过父级元素,当你离开子元素时也是要经过父级元素,所以就触发了onmouseout
追问
怎么解决
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式