场景还原
<div id="parent">
<a>这是a</a>
<div class="dropdown">
</div>
</div>
<style>
div{
width:200px;
height:200px;
}
</style>
问题分析 可以通过控制台可以看见子元素都赋予了一个mouseout的事件.
解决方法
监听事件的处理函数中通过 e.target
来判定可以由什么dom
进行触发,此处因为业务问题多加一个a标签
的判断
Element.addEventListener('mouseout',function(e){
if(e.target === Element || e.target === Element.quesrySelector('a') ){
// 用户事务处理代码
}
})