为了账号安全,请及时绑定邮箱和手机立即绑定

关于mouseenter和mouseleave阻止冒泡事件

如题,测试了下,正常布局下是可以阻止冒泡事件的,可当我把代码中p元素的margin-top设成负值,并移出div框外时,在移入、出p标签时,还是会触发div上的事件,

请问这是什么原因?

此时的p也还是div的子元素啊。

  .right p{
        margin-top:-60px;
    }
    其他的没变,就是加了这条样式。


正在回答

2 回答

跟你打个比较残忍的例子。div相当于一个人的身体。p相当于一个人的手。你碰到那个人的任何位置,相当于触发了div。当有一天,那个人的手断了,脱离了身体,然后你碰到那个人的手,你说这个手是不是还是那个人的身体的一部分,就算它已经断了,也是那个人的。就相当于,p就算被你移出div了,可是它的本质还是属于div的。

当那个人手没断时,你从他的身体滑动到他的手,再从他的手滑动到身体,无论怎么滑动,只要没有拿开,就只触动了一次。可是当他的手断了的时候,你要从他的身体再碰到他的手,是不是要从他身体离开,然后才能碰到他的手?这就是触动了两次他的身体,也就是触动了两次div。明白了么?

5 回复 有任何疑惑可以回复我~
#1

雨宮奏 提问者

这比喻,意思懂了...—,— 感谢~
2016-09-09 回复 有任何疑惑可以回复我~

注意看老师代码................代码对div 和p 都做了mouseleave或者mouseenter事件处理



0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

关于mouseenter和mouseleave阻止冒泡事件

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信