这里末尾为什么要return false?
来源:3-1 tab切换综合示例
weixin_慕前端6235132
2020-07-04 14:42:43
3回答
同学你好,例如使用mouseover/mouseout事件会发生事件冒泡,也就说触发子元素的事件,同时会触发父元素上mouseover/mouseout事件,示例:
测试结果如下:移入子元素灰色盒子,同时会触发父元素的移入移出事件
如果我们不想在移入移出子元素时,触发父元素的同类型事件,那么就可以在子元素事件中阻止事件冒泡。阻止事件冒泡有两种方法。return false 和e.stopPropagation(). 使用任意一种方式都可以。 示例:
此时在移入子元素就不会在再出发父元素的mouseout和mouseover事件了
同学可以测试理解下,祝学习愉快
weixin_慕前端6235132
提问者
2020-07-05
什么情况下,需要阻止事件冒泡?
樱桃小胖子
2020-07-04
同学你好,return false的作用是阻止默认行为,但是,return false除了阻止默认行为之外,还会阻止事件冒泡。同学的这段代码中,给a绑定了事件,且a有自己的默认行为。所以当点击a时,a的默认行为就会立马触发(如链接跳转等),虽然return false也可以阻止默认行为,但是放在最后,a的默认行为还是会触发。所以同时在最前面先使用了e.preventDefault()阻止默认行为 。因为只有片段代码,老师无法准确判断,这里的return false应该是为了阻止事件冒泡。如果不需要阻止冒泡,也可以不使用return false。
希望可以帮到你!
相似问题