在绝对定位div下的div上悬停事件

时间:2013-06-09 19:08:13

标签: javascript jquery dom

是否可以在元素上获取悬停事件,该事件位于绝对定位的div下?绝对定位div是身体元素的孩子,但是下面不是,所以他们不在父母/孩子的关系中。我拖放那个绝对的div,我想要高亮区域,用户可以放下,当鼠标在那个区域下面。

enter code here

http://jsfiddle.net/Rv8kp/

1 个答案:

答案 0 :(得分:2)

简短的回答是否定的,你不能。但是......有一个解决方法

您可以为整个文档添加mousemove事件处理程序。在处理程序内部,您可以检查鼠标位置是否位于您需要悬停的元素区域。

var $pos = $("#pos");
var top = $pos.offset().top;
var left = $pos.offset().left;
var bottom = top + $pos.height();
var right = left + $pos.width();

$(document).mousemove(function (e) {

    if (e.pageY >= top && e.pageY <= bottom && e.pageX >= left && e.pageX <= right)
        $pos.addClass("hover");
    else
        $pos.removeClass("hover");
});

您可以查看完整的工作示例here