Javascript 检查光标是否位于元素';父母

Javascript 检查光标是否位于元素';父母,javascript,jquery,Javascript,Jquery,我有这个html <div class='parent'> <div class='child'></div> </div> 您需要停止对子项执行事件的操作: $(body).on('mouseover', '.child' , function(e){ e.stopPropagation(); }); $(body).on('mouseout', '.child' , function(e){ e.stopPr

我有这个html

<div class='parent'> 
     <div class='child'></div> 
</div>
您需要停止对子项执行
事件的操作:

$(body).on('mouseover', '.child' , function(e){
    e.stopPropagation();
}); 
$(body).on('mouseout',  '.child' , function(e){
    e.stopPropagation();
});

使用mouseenter/mouseleave事件代替mouseover/mouseout:

$(body).on('mouseenter', '.child' , function(e){

}); 
$(body).on('mouseleave',  '.child' , function(e){

});

使用
mouseenter
mouseleave
代替
mouseover
mouseout
,这将解决您的问题

$(document).on('mouseenter', '.parent' , function(){
    console.log("Mouse Enter");
}); 
$(document).on('mouseleave',  '.parent' , function(){ 
        console.log("Mouse Leave");
});
不要使用
stopPropagation()
,因为


您可以添加css代码吗?在父级中添加显示块并选中“无差异”。这里的关键是你正在停止事件传播(这就是我的答案,你似乎偷了)。是的,你是对的,我只是从你那里复制了错误的代码并更改了事件名称,只是忘记删除愚蠢的e.stopPropagation调用。谢谢提醒。
$(document).on('mouseenter', '.parent' , function(){
    console.log("Mouse Enter");
}); 
$(document).on('mouseleave',  '.parent' , function(){ 
        console.log("Mouse Leave");
});