关于mouseenter和mouseleave阻止冒泡事件

来源:2-5 jQuery鼠标事件之mouseenter与mouseleave事件

雨宮奏

2016-08-27 19:08

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

请问这是什么原因?

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

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


写回答 关注

2回答

  • 孩纸╭别伤xin、了
    2016-09-07 10:25:03
    已采纳

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

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

    雨宮奏

    这比喻,意思懂了...—,— 感谢~

    2016-09-09 13:25:22

    共 1 条回复 >

  • qq_游在梦中_0
    2016-08-28 04:36:15

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



jQuery基础(三)—事件篇

jQuery第三阶段开启事件修炼,掌握对页面进行交互的操作

89997 学习 · 625 问题

查看课程

相似问题