jquery如何检查mouseleave是否在元素上

jquery如何检查mouseleave是否在元素上,jquery,onmouseover,jquery-hover,Jquery,Onmouseover,Jquery Hover,您好,我在画布的顶部有一个情景图像。我需要处理然后鼠标离开画布除了鼠标在图像上 在图像中黑点是需要返回的鼠标是离开的,红点是不离开的鼠标 我尝试了这个代码,但它不起作用 $canvas.onmouseleave,函数{ 如果顶部的$image.is':悬停{ console.logmouse未离开; }否则{ 控制台。记录“鼠标离开” } }; 请按此办理: $("#image-on-top") .mouseenter(function() { console.log("mous

您好,我在画布的顶部有一个情景图像。我需要处理然后鼠标离开画布除了鼠标在图像上

在图像中黑点是需要返回的鼠标是离开的,红点是不离开的鼠标

我尝试了这个代码,但它不起作用

$canvas.onmouseleave,函数{ 如果顶部的$image.is':悬停{ console.logmouse未离开; }否则{ 控制台。记录“鼠标离开” } }; 请按此办理:

$("#image-on-top")
  .mouseenter(function() {
    console.log("mouse has entered");
  })
  .mouseleave(function() {
   console.log("mouse leaved");
  });

如果您可以从图像标签中删除position:absolute,那么下面的代码对您很有帮助

    $("#canvas").on("mouseover", function() {
            console.log("mouse is not leave");    
    }).on("mouseleave", function() {
            console.log("mouse is leave");    
    });

你也可以试试

编辑:稍微澄清一下,它是CSS的一部分,不是jQuery中的选择器。这就是为什么它在使用时不起作用

EDIT2:看起来画布鼠标离开是在图像悬停之前触发的。这意味着当jquery执行canvas mouse leave回调时,图像仍然没有设置hover属性。所以我稍微修改了我的代码,以便按照这个顺序处理事件

$function{ var canvasHover=false; var imageHover=false; $image-on-top.onMouseCenter,函数{ 如果!拉票悬停{ canvashaver=true; console.logmouse没有离开; } }; $image-on-top.onmouseleave,函数{ canvasHover=false; console.logmouse离开; }; $canvas.onmouseleave,函数{ canvasHover=false; console.logmouse离开; }; $canvas.onMouseCenter,函数{ canvashaver=true; }; };
mhmm需要知道然后鼠标离开画布位置除了图像覆盖画布区域代码有什么问题?我需要这个结果,顶部的图像结果应该是相同的,但是如果你移除位置:绝对图像标签,你可以检查