Javascript 将鼠标悬停在其他元素下方

Javascript 将鼠标悬停在其他元素下方,javascript,jquery,css,Javascript,Jquery,Css,我有一种情况,我想提供一些与工具提示相关的上下文帮助…但是,我有的元素有时位于绝对位置的元素下面 虽然我意识到这可能是不可能的,但我在想,在顶层元素的下面,有没有人去询问元素 我只是不知道该怎么做。我不介意使用css或javascript,但是如果能在正确的方向上提供帮助,我将不胜感激 请参见下面横条上方绝对定位div(带红色涂鸦的灰色框)的图像 请注意,绿色条是相对位置,而单个条也是绝对位置 您可以使用jQuery的位置,尽管它最终会非常冗长: var pos=$(“myDiv”).posit

我有一种情况,我想提供一些与工具提示相关的上下文帮助…但是,我有的元素有时位于绝对位置的元素下面

虽然我意识到这可能是不可能的,但我在想,在顶层元素的下面,有没有人去询问元素

我只是不知道该怎么做。我不介意使用css或javascript,但是如果能在正确的方向上提供帮助,我将不胜感激

请参见下面横条上方绝对定位div(带红色涂鸦的灰色框)的图像

请注意,绿色条是相对位置,而单个条也是绝对位置


您可以使用jQuery的位置,尽管它最终会非常冗长:

var pos=$(“myDiv”).position()

然后通过以下方式确定位置:

控制台日志(位置左侧、位置顶部、位置右侧、位置底部)

请阅读此处了解更多信息:

然后您可以检查
.mousemove
是否在div的范围内。请阅读此处:


然而,对于一般的使用来说,这很可能太复杂了。

您必须检查每个子div中是否有鼠标点击;这是一把小提琴。命中测试:

function inside(a, x, y) {
  var l = a.offset().left;
  var t = a.offset().top;
  var r = l + a.outerWidth(true);
  var b = t + a.outerHeight(true);

  return l <= x && x <= r && 
         t <= y && y <= b;
}

顶部的元素是否需要鼠标事件?不需要,也不需要。需要注意的是,我需要对IE9及以上版本的支持…指针事件我认为这里不支持,实际上只是看看js。我在一个页面上有400个这样的条,这些条的内部div的范围为0到15,因此您可以想象提供if/else来检查每个div是否可行:)。你能提供一些不需要if/else逻辑的替代逻辑吗?传奇!为了满足我的需要做了一些小的调整。。。。其中一个方法是迭代与灰色容器相同容器的段部分,而不是我在页面上的4000段。我相信你会这么做,但你只是在向我说明这个概念!非常感谢!!!
$(".foo").on("mousemove", function(e) {
  var hit = false;
  var self = $(this);

  $(".x, .y").each(function(ignore, d) {
    if (!hit) {
      if (inside($(d), e.pageX, e.pageY)) {
        self.attr("title", $(d).attr("title"));
        hit = true;
      }
      else {
        self.attr("title", "");
      }
    }
  });
});